2016-09-30 62 views
5

我已经创建了Paypal /开发人员/沙盒帐户。已获得API凭证。Magento 2:如何在Paypal Express中快速更改付款操作方法

下载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脚本授权方法。

我得做些什么。 我需要获得授权付款,将“授权”付款转换为“拍卖/销售”方式&通知客户&管理员以及。

如何获得授权ID?

通过上述文件提到我需要使用3个Web服务

  • 获得授权的支付细节
  • 捕捉授权支付
  • 获取捕获的付款细节

已具有“授权”付款的交易ID。

请提供要遵循的步骤&如果任何可用的例子,那么请分享

需要把这个功能在Magento 2集成

[更新]

我已经改变了我在PayPal-PHP-SDK-master\sample\bootstrap.php文件中,PHP SDK中的API Sandbox凭据。

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

下面是从贝宝

事务ID可后REST API执行付款, 经典API [NVP/SOAP] DoEC API或普通按钮支付完成而产生的答复。 它永远不会工作,以扭转搜索找到付款ID。

+0

这是由SO主持人是否他们想从SO网站切换到http://magento.stackexchange.com或不是?因为这个我想在Magento 2的最终结果。谢谢 –

+0

嗨SO社区,请指导我实现功能。谢谢 –

+0

嗨,我已经更新了我的答案,请参阅下文。 – stweb

回答

1

如果你有paymentId,你可以得到认可的付款的细节是这样的:

$payment = Payment::get($paymentId, $apiContext); 

对于支付类的所有化子性质来看看这个 - Payment.php

要更改沙盒/ API凭证在您的项目中编辑bootstrap.php

UPDATE

你并不需要使用AuthorizePayment.php。 Istead,请执行以下操作:

  1. 创建付款并获取授权的网址(您的网站端)。
  2. 打印授权网址(您的网站侧)。
  3. Cutomer遵循授权网址并转到PayPal并授权付款(PayPal方)。
  4. 贝宝通过paymentId(PayPal方)将客户返还给您的网站。
  5. 抓住paymentId并执行付款(您的网站端)。
+0

PaymentId =交易ID?我有交易ID。如何根据TransactionId获取PaymentId? –

+0

当支付在PayPal侧被批准后,它将paymentId作为get参数返回到您的网站,并添加到您的返回网址中。你能澄清你如何获得TransactionId? – stweb

+0

虽然我的交易ID存储在我的数据库从贝宝。我仍然必须重新创造整个事物吗? –