1

在我的iOS應用程序的非美國開發商,我已經集成使用貝寶SDK中的自適應支付從https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index貝寶沙盒工作不使用貝寶的iOS SDK

的PayPal改變了他們的網站後,我不能夠進行交易使用上面的庫。

這裏是我的代碼

-(void)processSplitPaymentWithFacebuyAdminPayPalId:(NSString*)adminId sellerPayPalId:(NSString*)sellerId withAdminPercentage:(NSNumber*)adminPercentage forTotalAmount:(NSNumber*)totalAmount andShippingCharges:(NSNumber*)shippingCharges 
{ 
    NSLog(@"!!!--------------------------------------"); 
    NSLog(@"AdminID: %@",adminId); 
    NSLog(@"SellerID: %@",sellerId); 
    NSLog(@"Admin Percentage: %@",adminPercentage); 
    NSLog(@"Total Amount: %@",totalAmount); 
    NSLog(@"Shipping Charges: %@",shippingCharges); 
    NSLog(@"!!!--------------------------------------"); 

    PayPal *ppMEP = [PayPal getPayPalInst]; 
    ppMEP.shippingEnabled = TRUE; 
    ppMEP.dynamicAmountUpdateEnabled = TRUE; 
    ppMEP.feePayer = FEEPAYER_EACHRECEIVER; 
    PayPalAdvancedPayment *payment = [[[PayPalAdvancedPayment alloc] init] autorelease]; 
    payment.paymentCurrency = @"AUD"; 

    payment.receiverPaymentDetails = [NSMutableArray array]; 

    NSArray *emails = [[NSArray alloc]initWithObjects:adminId,sellerId, nil]; 

    for (int i = 0; i < emails.count; i++) 
    { 
     PayPalReceiverPaymentDetails *details = [[[PayPalReceiverPaymentDetails 
                alloc] init] autorelease]; 

     details.invoiceData = [[[PayPalInvoiceData alloc] init] autorelease]; 

     float adminAmount = [adminPercentage floatValue]; 
     float sellerAmount = [totalAmount floatValue] - adminAmount; 


     switch (i) { 
      case 0: 
       // Admin commission 
       details.subTotal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",adminAmount]]; 
       details.description = @"Amount payed to Admin as a Commission"; 
       details.merchantName = [NSString stringWithFormat:@"%@",ADMIN]; 
       break; 
      case 1: 
       // Seller amount 
       details.invoiceData.totalShipping = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%@",shippingCharges]]; 
       details.subTotal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",sellerAmount]]; 
       details.description = @"Amount payed to Seller"; 
       details.merchantName = [NSString stringWithFormat:@"%@ : %@",SELLER,@"Seller Name"]; 
       break; 
      default: 
       break; 
     } 

     details.recipient = [emails objectAtIndex:i]; 
     [payment.receiverPaymentDetails addObject:details]; 
    } 
    [ppMEP advancedCheckoutWithPayment:payment]; 
    [emails release]; 
} 

但每次我嘗試進行交易,我得到以下錯誤

errorId: 580022 
message: The receiver is based in a country that isn't enabled to receive payments 

我的測試帳戶澳大利亞創建。我的應用程序將只在澳大利亞提供。

現在我的問題是 1)即使我的iOS應用程序進入生產,這有什麼關係嗎? 2)我們是否也可以使用上述鏈接中提供的iOS SDK或者我們是否需要使用最新的SDK?

我看到一些links但我不清楚發生了什麼問題。

任何形式的幫助,高度讚賞。謝謝。

UPDATE:

如果我使用美國測試帳戶,然後仍然是我的交易沒有完成。

- (void)paymentFailedWithCorrelationID:(NSString *)correlationID 

以上方法被調用&這裏是響應

severity: None 
category: Application 
errorId: 0 
message: None 

下面是截圖

enter image description here

回答

1

您可以切換到我們新的移動支付庫的iOS?舊版本現在已被棄用,每個人都被鼓勵使用新的圖書館。

https://developer.paypal.com/webapps/developer/docs/integration/mobile/ios-integration-guide/

+0

啊注意到你正試圖在澳大利亞使用它。目前僅在美國支持新的移動支付庫。讓我聯繫團隊,看看他們是否可以幫助解決發生的問題。 – Praveen

+0

感謝Praveen的回覆。我無法切換到新圖書館,原因有兩個: 1)我需要在澳大利亞使用應用程序 2)我需要自適應付款 如果您從團隊獲得任何信息,請讓我知道。 謝謝 – iOSAppDev

+0

看起來舊的MPL庫不再支持了。您可以將自適應付款API與webview集成(而不是移動支付庫)一起使用嗎? – Praveen