php - PayPal Plus API 和 PHP:无法付款
问题描述
我为 PayPal Plus 创建了一个 REST Api。不知何故,付款没有得到处理。下订单后,我成功地被定向到贝宝页面,在那里我可以看到我的订单概览。但是,当我单击“付款”时,我不会被转发到贝宝确认页面,而是被重定向到我商店的返回 URL。
我的PHP代码:
$money = '0.01';
$mode = 'live';
$cientID = '123456';
$clientSecret = '123456';
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
$cientID,
$clientSecret
)
);
$apiContext->setConfig(
array(
'mode' => $mode
)
);
$item1 = new \PayPal\Api\Item();
$item1->setName('My order')
->setCurrency('EUR')
->setQuantity(1)
->setPrice($money);
$itemList = new \PayPal\Api\ItemList();
$itemList->setItems(array($item1));
$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');
$amount = new \PayPal\Api\Amount();
$amount->setCurrency('EUR');
$amount->setTotal($money);
$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);
$transaction->setItemList($itemList);
$transaction->setInvoiceNumber(uniqid());
$transaction->setDescription('My order');
$host = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'];
$redirectUrl = new \PayPal\Api\RedirectUrls();
$redirectUrl->setReturnUrl($host . '/page.php');
$redirectUrl->setCancelUrl($host . '/page.php');
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrl);
$payment->setTransactions(array($transaction));
$payment = $payment->create($apiContext);
$approvalUrl = $payment->getApprovalLink();
我的 JS:
var ppp = PAYPAL.apps.PPP({
"approvalUrl": "<?=$approvalUrl?>",
"placeholder": "ppplus",
"mode": "live",
"country": "DE"
});
任何人都可以看到问题吗?
解决方案
推荐阅读
- android - RearView 无法使用 camera2 处理牛轧糖
- reactjs - 如何在 Cypress 中点击链接?
- wolfram-mathematica - 数学中的对数似然和多项分布
- ionic-framework - 使用 ionic 4 的 d3 条形图无法在设备上加载 -- prod 模式
- aerospike - 如何在 aerospike 集群中搜索读取热键?
- c# - 分布式事务:.NET Framework 与 .NET Core
- c++ - 返回向量元素的左值的正确方法是什么?
- python - 如何在python中将数据类型日期对象更改为日期时间?
- python - 如何更改 PyQt 标准按钮的文本_
- android - Android将字节数组转换回NdefMessage