2015-11-06 26 views
0

我在iOS的新手,也新手在条薪酬与iOS我要交两个条纹帐户的iOS等作为第一个我想在一个成功后支付在一个帐户支付,只要可能,我希望在支付第二账户,我写了这样的代码为:如何有两个条纹帐户工作“一”应用

"Transaction Start" 


-(void)startTransaction 
{ 
if ([self validateCustomerInfo]) 
{ 
    [Stripe setDefaultPublishableKey:STRIPE_TEST_PUBLIC_KEY1]; 
    STPCardParams *card = [[STPCardParams alloc] init]; 
    card.number = txtCardNumber.text; 
    card.expMonth =[btnMonth.titleLabel.text integerValue]; 
    card.expYear = [btnYear.titleLabel.text integerValue]; 
    card.cvc = txtCvv.text; 
    [[STPAPIClient sharedClient] createTokenWithCard:card 
              completion:^(STPToken *token, NSError *error) { 
               if (error) { 
                [GlobalClass StopSpinner:self.view]; 
                [AppDelegate ShowAlert:[NSString stringWithFormat:@"%@",[error localizedDescription]]]; 
               } else { 
                [self postStripeToken:token]; 
               } 
              }]; 
} 
} 

#Generated First Token. 


-(void)postStripeToken:(STPToken*)token 
{ 
    [GlobalClass ActivateSpinner:self.view StringMSG:@"Please wait"]; 
    NSDictionary *[email protected]{@"secretkey":STRIPE_SECRET_KEY1,@"stripeToken":token.tokenId,@"amount":@"2",@"currency":@"usd",@"description":@"iOS Transaction"}; 
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    manager.responseSerializer.acceptableContentTypes =   [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"]; 
    [manager POST:@"http://s570166064.onlinehome.us/seadealersWS/payment/payment.php" parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject) 
{ 
    NSLog(@"Responce Object %@",responseObject); 
    if ([[responseObject valueForKey:@"status"]isEqualToString:@ 
     "Success"]) 
    { 
    # Here i want to Pay in second account # 

     [Stripe setDefaultPublishableKey:STRIPE_TEST_PUBLIC_KEY2]; 
     STPCardParams *card = [[STPCardParams alloc] init]; 
     card.number = txtCardNumber.text; 
     card.expMonth =[btnMonth.titleLabel.text integerValue]; 
     card.expYear = [btnYear.titleLabel.text integerValue]; 
     card.cvc = txtCvv.text; 
     [[STPAPIClient sharedClient] createTokenWithCard:card 
               completion:^(STPToken *token, NSError *error) { 
                if (error) { 
                 [GlobalClass StopSpinner:self.view]; 
                 [AppDelegate ShowAlert:[NSString stringWithFormat:@"%@",[error localizedDescription]]]; 
                } else { 
                 [GlobalClass StopSpinner:self.view]; 
             [GlobalClass ActivateSpinner:self.view StringMSG:@"Please wait"]; 

                 [self postStripeTokenTwo:token]; 
                } 
               }]; 
    } 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) 
{ 
    [GlobalClass StopSpinner:self.view]; 
    [AppDelegate ShowAlert:@"Please try again"]; 
    NSLog(@"Error %@",error); 
}]; 
} 
-(void)postStripeTokenTwo:(STPToken*)token 
{ 
NSDictionary *[email protected]{@"secretkey":STRIPE_SECRET_KEY2,@"stripeToken":token.tokenId,@"amount":@"0.5",@"currency":@"usd",@"description":@"iOS Transaction"}; 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"]; 
[manager POST:@"http://s570166064.onlinehome.us/seadealersWS/payment/payment.php" parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject) 
{ 
    NSLog(@"Responce Object %@",responseObject); 
    if ([[responseObject valueForKey:@"status"]isEqualToString:@ 
      "Success"]) 
    { 
     [GlobalClass StopSpinner:self.view]; 
    } 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) 
{ 
    [GlobalClass StopSpinner:self.view]; 
    [AppDelegate ShowAlert:@"Please try again"]; 
    NSLog(@"Error %@",error); 
}]; 

}

但首先考虑我得到成功响应,但对于第二个账户是说你的令牌无效,我不想设置分条连接。 谢谢,对不起英文不好。

回答

1

令牌只能使用一次,且只在创建它的帐户有效。你将不得不使用两个标记(每个帐户创建)

而且,你不应该在你的应用程序被运送您条纹秘密API密钥。应用程序代码中的字符串很容易被发现,并且你不想泄漏你的API密钥。标准的方法是将令牌发送到您控制的服务器,并从您的服务器发送API调用。

另外,你可能想看看条纹连接,它可能是你的问题更好的方法,然后储存多个帐户的API密钥。

+0

#Matthew这里我创建不同的帐户,请检查一次代码,两个不同的tiken。 –