Wie teste ich Braintree + Apple Pay auf einem echten Gerät?
Ich entwickle eine App mit Apple Pay für einen US-Kunden außerhalb der USA. Ich benutze Braintree + Apple Pay. Wir unterstützen echte Kreditkarten für Passbook, können diese jedoch nicht überprüfen.
Ich habe erfolgreich ein Client-Token generiert.self.braintree
und BT's beide Möglichkeiten der Integration ausprobiert.
BTPaymentProvider - Unsere Abstraktion zur Erstellung von Zahlungsmethoden.
if(self.braintree && ![self.braintree isKindOfClass:[NSNull class]])
{
self.provider = [braintree paymentProviderWithDelegate:self];
if ([self.provider canCreatePaymentMethodWithProviderType:BTPaymentProviderTypeApplePay])
{
self.provider.paymentSummaryItems = @[[PKPaymentSummaryItem summaryItemWithLabel:@"XXXX" amount:[NSDecimalNumber decimalNumberWithString:@"1"]]];
}
[self.provider createPaymentMethod:BTPaymentProviderTypeApplePay];
}
aber es drückt nicht "PKPaymentAuthorizationViewController
". Auch keine Ausnahme, um es aufzuspüren.
PassKit - Apples ApplePay-APIs.
if([PKPaymentAuthorizationViewController canMakePayments]) // It returns TRUE
{
PKPaymentRequest *paymentRequest = [[PKPaymentRequest alloc] init];
paymentRequest.countryCode = @"US";
paymentRequest.currencyCode = @"USD";
paymentRequest.merchantCapabilities = PKMerchantCapabilityEMV | PKMerchantCapability3DS;
paymentRequest.merchantIdentifier = MERCHANTID;
paymentRequest.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];
paymentRequest.paymentSummaryItems = @[ [PKPaymentSummaryItem summaryItemWithLabel:@"TEST" amount:[NSDecimalNumber decimalNumberWithString:@"1"]] ];
if([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]]) // Returns FALSE
{
PKPaymentAuthorizationViewController *vc = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:paymentRequest];
vc.delegate = self;
[self presentViewController:vc animated:YES completion:nil];
}
}
Dies gibt "vc" istnil
.
Korrigieren Sie mich, wenn es falsch ist. Wie teste ich es auf einem realen Gerät?