REST api上的paypal快速结账(C#lib)

时间:2015-09-30 16:05:51

标签: paypal express-checkout paypal-rest-sdk

我不明白。如果Classic api有DoExpressCheckout方法...... Rest API有什么用途? 在那个图像上,我们有了它如何以经典方式工作的方式 enter image description here

因此,对于我的案例,Express Checkout步骤是: 1)客户将物品放入购物车并点击PayPal结账按钮 我跑

$date = strtotime('2015-11-10');
$end_date = strtotime('2015-11-15');
do {
    echo date('D',$date);
}while (($date = strtotime("+1 day",$date))  <= $end_date);

所以付款并将客户重定向到paypal网站

2)客户通过paypal流程返回我的网站。从他的付款交易我应该得到发货地址和他的电子邮件(没有提交付款!)并根据他的发货地址计算运费

3)在客户选择装运方法后,我需要更新他的交易(增加装运成本),然后再对其进行汇总。

所以这里的问题

1)如何使用基于paymentId(如PAY-21A17783AU475540MKYGAM5Q)的C#lib获取付款(交易)信息,因为PayPal.Api.Payment()只有方法Creare,Execute和Update?

2)如何更新当前交易(添加一些新数据,如出货成本),然后提交?

PS。在文档中有很多混乱,很多人都不明白他们应该如何正确地使用api。

杜克

1 个答案:

答案 0 :(得分:1)

根据你的帖子,你要创建一个Order - 强烈建议你在这个链接中使用他们的库(它包括样本,应该让你快速前进,维护得很好,维护者很棒/响应)

  1. Create it - 这会映射到经典SetExpressCheckout

  2. Redirect to Paypal获取用户批准。重定向URL是响应的一部分(不再仅仅是令牌)

  3. 如果用户“批准”,Paypal会像经典

    一样重定向
    • 您会在else block
    • 的示例中看到此处理
    • 就像经典PayerID中的查询字符串一样
  4. Execute付款

    • 响应将包含您需要的数据,您将在execute语句下面的行中看到,因此这将映射到GetExpressCheckoutDetails
    • 您还可以在注释行中看到有关下一步操作(Auth,Capture等)的选项。这些将映射到“最终确定”付款
    • 您可以在获取详细信息后对上述运费/税金进行“调整”,并且与您可以添加的最大额外金额具有相同的经典IINM规则 - 115% not to exceed $75
  5. 如果您有沙箱帐户,我有一个调试页面here,显示可能有帮助的数据。

    请注意,我只是部分捕获("is_final_capture": false)所以如果您检查沙箱(买方)帐户,则总费用将不是全额

    H个..