Ank*_*hah 5 php paypal payment-gateway magento2
我已经创建了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脚本使用授权方法完成了Sandbox One事务.
我必须实现的目标.我需要获得授权付款,将"授权"付款转换为"捕获/销售"方法并通知客户和管理员.
如何获得授权ID?
通过参考上面的文档,我需要使用3个Web服务
已经有"授权"付款的交易ID.
请提供以下步骤,如果已有任何示例,请分享
需要在Magento 2中集成此功能
[UPDATE]
我在PHP SDK中更改了我的API Sandbox凭据PayPal-PHP-SDK-master\sample\bootstrap.php
.
从sample/payments/AuthorizePayment.php
我将获得ID:PAY-0TV39791XXX02404VK7XD32I的授权付款,它工作正常.
当我输入我的Transaction Id
时候
{ "名": "INVALID_RESOURCE_ID", "消息": "请求的资源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的回复
可以在REST API执行付款,Classic API [NVP/SOAP] DoEC API或正常按钮付款完成后生成事务ID.它将永远不会反向搜索以查找付款ID.
如果您有 paymentId,您可以通过以下方式获取授权付款的详细信息:
$payment = Payment::get( $paymentId, $apiContext );
Run Code Online (Sandbox Code Playgroud)
对于支付类的所有属性,请查看此 - Payment.php
要更改沙箱/API 凭据,请编辑项目中的bootstrap.php 。
更新
您不需要使用 AuthorizePayment.php。相反,请执行以下操作: