Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PKPaymentRequest *paymentRequest = [StripeAPI paymentRequestWithMerchantIdentifier:paymentDetails[@"merchantIdentifier"] country:paymentDetails[@"country"] currency:paymentDetails[@"currency"]];
- NSDictionary *billingDetails = paymentDetails[@"billingDetails"];
- PKContact *billingContact = [PKContact new];
- billingContact.emailAddress = billingDetails[@"email"];
- NSPersonNameComponents *clientName = [NSPersonNameComponents new];
- clientName.givenName = billingDetails[@"firstName"];
- clientName.familyName = billingDetails[@"lastName"];
- clientName.middleName = billingDetails[@"middleName"];
- clientName.namePrefix = billingDetails[@"namePrefix"];
- billingContact.name = clientName;
- CNMutablePostalAddress *billingAddress = [CNMutablePostalAddress new];
- billingAddress.street = billingDetails[@"address"];
- billingAddress.country = billingDetails[@"country"];
- billingAddress.city = billingDetails[@"city"];
- billingAddress.postalCode = billingDetails[@"postalCode"];
- billingContact.postalAddress = billingAddress;
- paymentRequest.billingContact = billingContact;
- if (hasShippingDetails) {
- NSDictionary *shippingDetails = paymentDetails[@"shippingDetails"];
- PKContact *shippingContact = [PKContact new];
- shippingContact.emailAddress = shippingDetails[@"email"];
- NSPersonNameComponents *clientName = [NSPersonNameComponents new];
- clientName.givenName = shippingDetails[@"firstName"];
- clientName.familyName = shippingDetails[@"lastName"];
- clientName.middleName = shippingDetails[@"middleName"];
- clientName.namePrefix = shippingDetails[@"namePrefix"];
- shippingContact.name = clientName;
- CNMutablePostalAddress *shippingAddress = [CNMutablePostalAddress new];
- shippingAddress.street = shippingDetails[@"address"];
- shippingAddress.country = shippingDetails[@"country"];
- shippingAddress.city = shippingDetails[@"city"];
- shippingAddress.postalCode = shippingDetails[@"postalCode"];
- shippingContact.postalAddress = shippingAddress;
- paymentRequest.billingContact = shippingContact;
- } else {
- paymentRequest.shippingContact = billingContact;
- }
- NSArray *paymentItems = paymentDetails[@"paymentSummaryItems"];
- if (paymentItems.count > 0) {
- NSMutableArray *paymentSummaryItems = [NSMutableArray new];
- for (NSDictionary *item in paymentItems) {
- PKPaymentSummaryItem *paymentItem = [PKPaymentSummaryItem summaryItemWithLabel:item[@"label"] amount:[NSDecimalNumber decimalNumberWithString:item[@"amount"]]];
- totalDue += [[NSDecimalNumber decimalNumberWithString:item[@"amount"]] doubleValue];
- [paymentSummaryItems addObject:paymentItem];
- }
- PKPaymentSummaryItem *paymentItem = [PKPaymentSummaryItem summaryItemWithLabel:paymentDetails[@"merchantName"] amount:[NSDecimalNumber decimalNumberWithString: [[NSNumber numberWithDouble:totalDue] stringValue]]];
- [paymentSummaryItems addObject:paymentItem];
- paymentRequest.paymentSummaryItems = paymentSummaryItems;
- STPApplePayContext *applePayContext = [[STPApplePayContext alloc] initWithPaymentRequest:paymentRequest delegate:(id)self];
- [applePayContext presentApplePayWithCompletion:nil];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement