Advertisement
premedios_i9

Untitled

Sep 7th, 2021
1,118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PKPaymentRequest *paymentRequest = [StripeAPI paymentRequestWithMerchantIdentifier:paymentDetails[@"merchantIdentifier"] country:paymentDetails[@"country"] currency:paymentDetails[@"currency"]];
  2.        
  3.         NSDictionary *billingDetails = paymentDetails[@"billingDetails"];
  4.         PKContact *billingContact = [PKContact new];
  5.         billingContact.emailAddress = billingDetails[@"email"];
  6.         NSPersonNameComponents *clientName = [NSPersonNameComponents new];
  7.         clientName.givenName = billingDetails[@"firstName"];
  8.         clientName.familyName = billingDetails[@"lastName"];
  9.         clientName.middleName = billingDetails[@"middleName"];
  10.         clientName.namePrefix = billingDetails[@"namePrefix"];
  11.         billingContact.name = clientName;
  12.         CNMutablePostalAddress *billingAddress = [CNMutablePostalAddress new];
  13.         billingAddress.street = billingDetails[@"address"];
  14.         billingAddress.country = billingDetails[@"country"];
  15.         billingAddress.city = billingDetails[@"city"];
  16.         billingAddress.postalCode = billingDetails[@"postalCode"];
  17.         billingContact.postalAddress = billingAddress;
  18.        
  19.         paymentRequest.billingContact = billingContact;
  20.        
  21.         if (hasShippingDetails) {
  22.             NSDictionary *shippingDetails = paymentDetails[@"shippingDetails"];
  23.             PKContact *shippingContact = [PKContact new];
  24.             shippingContact.emailAddress = shippingDetails[@"email"];
  25.             NSPersonNameComponents *clientName = [NSPersonNameComponents new];
  26.             clientName.givenName = shippingDetails[@"firstName"];
  27.             clientName.familyName = shippingDetails[@"lastName"];
  28.             clientName.middleName = shippingDetails[@"middleName"];
  29.             clientName.namePrefix = shippingDetails[@"namePrefix"];
  30.             shippingContact.name = clientName;
  31.             CNMutablePostalAddress *shippingAddress = [CNMutablePostalAddress new];
  32.             shippingAddress.street = shippingDetails[@"address"];
  33.             shippingAddress.country = shippingDetails[@"country"];
  34.             shippingAddress.city = shippingDetails[@"city"];
  35.             shippingAddress.postalCode = shippingDetails[@"postalCode"];
  36.             shippingContact.postalAddress = shippingAddress;
  37.            
  38.             paymentRequest.billingContact = shippingContact;
  39.         } else {
  40.             paymentRequest.shippingContact = billingContact;
  41.         }
  42.        
  43.         NSArray *paymentItems = paymentDetails[@"paymentSummaryItems"];
  44.         if (paymentItems.count > 0) {
  45.             NSMutableArray *paymentSummaryItems = [NSMutableArray new];
  46.             for (NSDictionary *item in paymentItems) {
  47.                 PKPaymentSummaryItem *paymentItem = [PKPaymentSummaryItem summaryItemWithLabel:item[@"label"] amount:[NSDecimalNumber decimalNumberWithString:item[@"amount"]]];
  48.                 totalDue += [[NSDecimalNumber decimalNumberWithString:item[@"amount"]] doubleValue];
  49.                 [paymentSummaryItems addObject:paymentItem];
  50.             }
  51.             PKPaymentSummaryItem *paymentItem = [PKPaymentSummaryItem summaryItemWithLabel:paymentDetails[@"merchantName"] amount:[NSDecimalNumber decimalNumberWithString: [[NSNumber numberWithDouble:totalDue] stringValue]]];
  52.             [paymentSummaryItems addObject:paymentItem];
  53.             paymentRequest.paymentSummaryItems = paymentSummaryItems;
  54.            
  55.             STPApplePayContext *applePayContext = [[STPApplePayContext alloc] initWithPaymentRequest:paymentRequest delegate:(id)self];
  56.             [applePayContext presentApplePayWithCompletion:nil];
  57.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement