Apple Pay使用Stripe将令牌发送到服务器并收取购买费用

时间:2016-01-15 12:00:28

标签: ios iphone stripe-payments applepay

我在iPhone应用程序中使用Apple Pay付款提供商Stripe

我使用test_key实现Apple Pay,它返回令牌并在模拟器中获取PKPaymentAuthorizationStatusSuccess

实际上,我不知道从真实设备完成的实时付款。

  

我有问题是否需要向服务器发送Token才能收费   对于该付款或将使用iPhone应用程序收取一次费用   得到令牌?

按照以下方法,他们将令牌发送到服务器,因此它只会在服务器上收费?

- (void)createBackendChargeWithToken:(STPToken *)token
                      completion:(void (^)(PKPaymentAuthorizationStatus))completion {
NSURL *url = [NSURL URLWithString:@"https://example.com/token"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
request.HTTPMethod = @"POST";
NSString *body     = [NSString stringWithFormat:@"stripeToken=%@", token.tokenId];
request.HTTPBody   = [body dataUsingEncoding:NSUTF8StringEncoding];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSURLSessionDataTask *task =
[session dataTaskWithRequest:request
           completionHandler:^(NSData *data,
                               NSURLResponse *response,
                               NSError *error) {
               if (error)
               {
                   completion(PKPaymentAuthorizationStatusFailure);
                   ;
               }
               else
               {
                   completion(PKPaymentAuthorizationStatusSuccess);
               }
           }];
[task resume];
}

请建议我们只从服务器收费吗?

由于

1 个答案:

答案 0 :(得分:4)

您需要将令牌发送到您的服务器。

创建费用需要您的秘密API密钥,永远不能从您的iPhone应用程序访问。