Magento 2:如何在 Paypal Express 中即时更改付款方式
Posted
技术标签:
【中文标题】Magento 2:如何在 Paypal Express 中即时更改付款方式【英文标题】:Magento 2: How to change Payment Action Method on the fly in Paypal Express 【发布时间】:2017-02-08 15:59:36 【问题描述】:我已经创建了 Paypal/Developer/Sandbox 帐户。已获得 API 凭据。
已下载 php SDK http://paypal.github.io/PayPal-PHP-SDK/
参考:https://developer.paypal.com/docs/api/
https://devtools-paypal.com/guide/expresscheckout/php?interactive=ON&env=sandbox
我已经使用我的 PHP 脚本通过 Authorize 方法完成了沙盒一交易。
我必须达到的目标。 我需要获得授权付款,将“授权”付款转换为“捕获/销售”方法并通知客户和管理员。
如何获取授权ID?
通过参考上述文档,我需要使用 3 个 Web 服务
获取授权付款的详细信息 获取授权付款 获取已捕获付款的详细信息已经有“授权”支付的交易ID。
请提供要遵循的步骤,如果已有示例,请分享
需要将此功能集成到 Magento 2 中
[更新]
我在 PayPal-PHP-SDK-master\sample\bootstrap.php
文件中更改了我在 PHP SDK 中的 API 沙盒凭据。
来自sample/payments/AuthorizePayment.php
,我将获得 ID 为 PAY-0TV39791XXX02404VK7XD32I 的授权付款,并且工作正常。
当我输入我的Transaction Id
时,它给出了
"name":"INVALID_RESOURCE_ID","message":"请求的资源 ID 不是 找到。","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID","debug_id":"1f2b08ce88633"
我的沙盒交易 ID 是 3AA32794KF48247AA
。那么问题是如何将您的交易 ID 转换为付款 ID?
https://magento.stackexchange.com/questions/138579/magento-2-change-paypal-action-method-on-the-fly
以下是Paypal的回复
交易id可以在REST API执行支付后生成, 经典 API [NVP/SOAP] DoEC API 或普通按钮支付完成。 反向搜索以找到付款 ID 永远不会起作用。
【问题讨论】:
是否要将问题从 SO 站点切换到 magento.stackexchange.com 取决于 SO 版主?因为我想在 Magento 2 中得到最终结果。谢谢 嗨 SO 社区,请指导我实现功能。谢谢 嗨,我已经更新了我的答案,见下文。 【参考方案1】:如果你有paymentId,你可以通过这种方式获取授权支付的详细信息:
$payment = Payment::get( $paymentId, $apiContext );
对于支付类的所有属性,看看这个 - Payment.php
要更改沙盒/API 凭据,请在您的项目中编辑 bootstrap.php。
更新
您不需要使用 AuthorizePayment.php。相反,请执行以下操作:
-
创建付款并获取授权网址(您的网站端)。
打印授权网址(您的网站端)。
客户按照授权网址前往PayPal并授权付款(PayPal方)。
PayPal 使用 paymentId(PayPal 端)将客户返回到您的网站。
获取 paymentId 并执行付款(您的网站端)。
【讨论】:
PaymentId = 交易 ID?我有交易 ID。如何根据 TransactionId 获取 PaymentId? 当付款在 PayPal 端获得批准时,它会以 paymentId 作为获取参数返回到您的网站,并添加到您的返回 url。你能澄清一下你是如何获得 TransactionId 的吗? 虽然我从 Paypal 将交易 ID 存储在我的数据库中。我还得重新创造整个东西吗? 提供更多信息。您是否有之前付款的交易 ID? 是的,如果您检查我已经提到的问题并从 Paypal 回复以上是关于Magento 2:如何在 Paypal Express 中即时更改付款方式的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 PayPal Pro 以直接从 Magento 2 的网站通过借记卡/信用卡付款?
Magento,如何更改 PayPal/Express/Review 页面
如何从magento 1.9中的paypal标准中删除checkout