2015-11-06 66 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。 –

相關問題