2011-09-20 62 views
1

我已經在我的iphone項目中實現了支付貝寶庫。關於從iPhone支付貝寶iPhone中的交易編號

如何在成功調用以下方法後檢索事務ID。

-(void)paymentSuccessWithKey:(NSString *)payKey andStatus:(PayPalPaymentStatus)paymentStatus { 
    status = PAYMENTSTATUS_SUCCESS; 
} 

- (void)paymentLibraryExit 
{ 
    UIAlertView *alert1 = nil; 

    switch (status) 
     {   
     case PAYMENTSTATUS_SUCCESS:    
       { 
        ....... 
        ........... 
       } 
       ............... 
       .............. 
     } 
} 

回答

0

最後,我得到了使用paykey通過API與下面的API細節事務ID: - https://www.x.com/developers/paypal/documentation-tools/api/paymentdetails-api-operation

您可以通過下面的API請求代碼響應的分析數據得到事務ID: -

- (void)paymentSuccessWithKey:(NSString *)payKey andStatus:(PayPalPaymentStatus)paymentStatus { 
    status = PAYMENTSTATUS_SUCCESS; 

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://svcs.paypal.com/AdaptivePayments/PaymentDetails"]]; 

    NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:url]; 


    NSString *parameterString = [NSString stringWithFormat:@"payKey=%@&requestEnvelope.errorLanguage=%@",payKey,@"en_US"]; 

    NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]]; 

    [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 

    //do post request for parameter passing 
    [theRequest setHTTPMethod:@"POST"]; 

    [theRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 

    //passing key as a http header request 
    [theRequest addValue:api_username forHTTPHeaderField:@"X-PAYPAL-SECURITY-USERID"]; 

    //passing key as a http header request 
    [theRequest addValue:api_password forHTTPHeaderField:@"X-PAYPAL-SECURITY-PASSWORD"]; 

    [theRequest addValue:api_signature forHTTPHeaderField:@"X-PAYPAL-SECURITY-SIGNATURE"]; 

    [theRequest addValue:@"NV" forHTTPHeaderField:@"X-PAYPAL-REQUEST-DATA-FORMAT"]; 

    [theRequest addValue:@"NV" forHTTPHeaderField:@"X-PAYPAL-RESPONSE-DATA-FORMAT"]; 

    [theRequest addValue:app_id forHTTPHeaderField:@"X-PAYPAL-APPLICATION-ID"]; 

    [theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]]; 

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 

    if(connection) 
    { 
     webData = [[NSMutableData data] retain]; 
    } 
    else 
    { 
     NSLog(@"theConnection is NULL"); 
    } 
} 
+0

你在哪裏找到了api_username,api_password和api_signature?找不到這些:/ –

+0

如果你想爲測試目的api_username,api_password和api_signature然後你可以從https://developer.paypal.com/webapps/developer/applications/myapps –

+0

得到它如果你想api_username,api_password和api_signature爲原來的帳戶,那麼你可以按照下面從鏈接的步驟: - http://www.putler.com/support/faq/how-to-get-paypal-api-username-password-and-signature-information/或https://www.paypal.com/us/cgi-bin/webscr?cmd=xpt/cps/merchant/wppro/WPProIntegrationSteps-outside –

1

以下方法中的「payKey」是transactionID。

-(void)paymentSuccessWithKey:(NSString *)payKey andStatus:(PayPalPaymentStatus)paymentStatus { 
    status = PAYMENTSTATUS_SUCCESS; 
}