Check the current API client's key in this assert, not the shared key.
This commit is contained in:
parent
2de791d57a
commit
e2456747eb
|
@ -17,7 +17,7 @@ extension STPAPIClient {
|
||||||
@objc(createTokenWithPayment:completion:)
|
@objc(createTokenWithPayment:completion:)
|
||||||
public func createToken(with payment: PKPayment, completion: @escaping STPTokenCompletionBlock)
|
public func createToken(with payment: PKPayment, completion: @escaping STPTokenCompletionBlock)
|
||||||
{
|
{
|
||||||
var params = STPAPIClient.parameters(for: payment)
|
var params = parameters(for: payment)
|
||||||
STPTelemetryClient.shared.addTelemetryFields(toParams: ¶ms)
|
STPTelemetryClient.shared.addTelemetryFields(toParams: ¶ms)
|
||||||
createToken(
|
createToken(
|
||||||
withParameters: params,
|
withParameters: params,
|
||||||
|
@ -157,17 +157,17 @@ extension STPAPIClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc(parametersForPayment:)
|
@objc(parametersForPayment:)
|
||||||
class func parameters(for payment: PKPayment) -> [String: Any] {
|
func parameters(for payment: PKPayment) -> [String: Any] {
|
||||||
let paymentString = String(data: payment.token.paymentData, encoding: .utf8)
|
let paymentString = String(data: payment.token.paymentData, encoding: .utf8)
|
||||||
var payload: [String: Any] = [:]
|
var payload: [String: Any] = [:]
|
||||||
payload["pk_token"] = paymentString
|
payload["pk_token"] = paymentString
|
||||||
if let billingContact = payment.billingContact {
|
if let billingContact = payment.billingContact {
|
||||||
payload["card"] = self.addressParams(from: billingContact)
|
payload["card"] = STPAPIClient.addressParams(from: billingContact)
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(
|
assert(
|
||||||
!((paymentString?.count ?? 0) == 0
|
!((paymentString?.count ?? 0) == 0
|
||||||
&& STPAPIClient.shared.publishableKey?.hasPrefix("pk_live") ?? false),
|
&& self.publishableKey?.hasPrefix("pk_live") ?? false),
|
||||||
"The pk_token is empty. Using Apple Pay with an iOS Simulator while not in Stripe Test Mode will always fail."
|
"The pk_token is empty. Using Apple Pay with an iOS Simulator while not in Stripe Test Mode will always fail."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
XCTAssertEqualObjects([STPAnalyticsClient tokenTypeFromParameters:bankDict], @"bank_account");
|
XCTAssertEqualObjects([STPAnalyticsClient tokenTypeFromParameters:bankDict], @"bank_account");
|
||||||
|
|
||||||
PKPayment *applePay = [STPFixtures applePayPayment];
|
PKPayment *applePay = [STPFixtures applePayPayment];
|
||||||
NSDictionary *applePayDict = [self addTelemetry:[STPAPIClient parametersForPayment:applePay]];
|
NSDictionary *applePayDict = [self addTelemetry:[[STPAPIClient sharedClient] parametersForPayment:applePay]];
|
||||||
XCTAssertEqualObjects([STPAnalyticsClient tokenTypeFromParameters:applePayDict], @"apple_pay");
|
XCTAssertEqualObjects([STPAnalyticsClient tokenTypeFromParameters:applePayDict], @"apple_pay");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,6 @@ API_AVAILABLE(ios(13.0))
|
||||||
if (@available(iOS 13.0, *)) {
|
if (@available(iOS 13.0, *)) {
|
||||||
STPApplePayContextFunctionalTestAPIClient *apiClient = [[STPApplePayContextFunctionalTestAPIClient alloc] initWithPublishableKey:STPTestingDefaultPublishableKey];
|
STPApplePayContextFunctionalTestAPIClient *apiClient = [[STPApplePayContextFunctionalTestAPIClient alloc] initWithPublishableKey:STPTestingDefaultPublishableKey];
|
||||||
apiClient.applePayContext = self.context;
|
apiClient.applePayContext = self.context;
|
||||||
[[STPAPIClient sharedClient] setPublishableKey:STPTestingDefaultPublishableKey];
|
|
||||||
self.apiClient = apiClient;
|
self.apiClient = apiClient;
|
||||||
} else {
|
} else {
|
||||||
XCTSkip("Unsupported iOS version");
|
XCTSkip("Unsupported iOS version");
|
||||||
|
|
Loading…
Reference in New Issue