首页 文章

余额不起作用的沙盒买家帐户(PAYER_CANNOT_PAY)

提问于
浏览
0

我正在使用Paypal的PHP SDK,但我在执行付款时遇到问题(400,错误代码:PAYER_CANNOT_PAY) .

沙箱设置:

  • 创建了一个商业沙箱帐户

  • 创建了一个开发者帐户

  • 创建了一个应用程序

  • 创建了具有余额和链接信用卡的沙盒买家帐户

码:

  • 使用Paypal SDK创建付款
$cred = new OAuthTokenCredential("$clientID", "$secret", $sdkConfig);
$cred->accessToken = $cred->getAccessToken($sdkConfig);
$apiContext = new ApiContext($cred);
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
    ->setCurrency('USD')
    ->setQuantity(1)
    ->setSku("123123") // Similar to `item_number` in Classic API
    ->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')
    ->setCurrency('USD')
    ->setQuantity(5)
    ->setSku("321321") 
    ->setPrice(2);
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
$details = new Details();
$details->setShipping(1.2)
    ->setTax(1.3)
    ->setSubtotal(17.50);
$amount = new Amount();
$amount->setCurrency("USD")
    ->setTotal(20)
    ->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
    ->setItemList($itemList)
    ->setDescription("Payment description")
    ->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://test.dev/paypal?success=true")
    ->setCancelUrl("http://test.dev/paypal?success=false");
$payment = new Payment();
$payment->setIntent("sale")
    ->setPayer($payer)
    ->setRedirectUrls($redirectUrls)
    ->setTransactions(array($transaction));
$request = clone $payment;
    $payment->create($apiContext);
  • App将用户重定向到Paypal沙箱登录页面

  • 使用沙盒帐户登录(付款部分为空)

  • 使用令牌,paymentID,payerID和状态(成功)重定向用户

  • 执行付款< - 来自API 400,PAYER_CANNOT_PAY的回复

$paymentId = $request->all()['paymentId'];
$payment = Payment::get($paymentId, $apiContext);
$execution = new PaymentExecution();
$execution->setPayerId($request->all()['PayerID']);
$payment->execute($execution, $apiContext);

错误:

{
"status": 400,
"duration_time": 156,
"body": {
    "message": "The combination of payer and payee settings mean that this buyer can't pay this seller.",
    "debug_id": "debugid",
    "details": [],
    "name": "PAYER_CANNOT_PAY",
    "information_link": "https://developer.paypal.com/docs/api/payments/#errors"
},

}

知道为什么会失败吗?

先感谢您!

2 回答

  • 0

    也许买家的卡银行拒绝付款 . 没有集成问题 . 尝试使用其他帐户确认您的集成 .

  • 0

    您确定您没有尝试登录并使用作为卖家的同一开发者帐户付款吗?您需要确保为买家和卖家使用单独的沙盒帐户 .

相关问题