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

标签 paypal express-checkout paypal-rest-sdk

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

所以对于我的案例,快速结帐步骤是: 1) 客户将商品放入购物车并点击 PayPal 结账按钮 我跑

var payment = new PayPal.Api.Payment();
var createdPayment = payment.Create(apiContext);

所以进行付款并将客户重定向到 Paypal 网站

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

3) 客户选择装运方式后,我需要更新他的交易(添加运费),然后才提交。

所以这里的问题

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

2) 如何更新当前交易(添加一些新数据,如运费),然后提交?

附言。文档中有很多乱七八糟的东西,很多人不明白他们应该如何正确使用该 api。

公爵

最佳答案

根据您的帖子,您将创建一个 Order - 强烈建议您在此链接中使用他们的库(它包括示例,应该可以让您快速入门,维护得很好,并且维护人员很棒/响应迅速)

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

  2. Redirect to Paypal以获得用户的认可。重定向 URL 是响应的一部分(不再只是一个标记)

  3. 如果用户“同意”,Paypal 会像经典一样重定向回来

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

    • 响应将包含您需要的数据,您将在执行语句下方的行中看到,因此它映射到 GetExpressCheckoutDetails
    • 您还将在注释行中看到有关下一步操作(Auth、Capture 等)的选项。这些将映射到“完成”付款
    • 在获取详细信息后,您可以在上面“调整”运费/税费,并且在您可以添加的最大额外金额方面与经典 IINM 具有相同的规则 - 115% not to exceed $75 )

如果你有沙盒账户,我有调试页面here这显示了可能有用的数据 io。

请注意,我只是部分捕获 ("is_final_capture": false),因此如果您检查您的沙盒(买家)帐户,收取的总金额将不是全部金额

嗯..

关于REST api 上的 paypal 快速结账(C# lib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32870812/

相关文章:

paypal - 为特定的 Paypal 结账选项创建二维码

Paypal :沙盒用户界面与 "real"用户界面不同吗?

javascript - PayPal 关联结账点击事件

PayPal SetExpressCheckout Req > 无法连接到远程服务器

asp.net - 如何在asp.net网站上使用zong

paypal - 如何使用 paypal 订阅 IPN 以及如何知道是否有人取消

paypal - IPN 未发送,握手未验证。请检查您的信息。

php - 找不到类 'PayPal\Api\Itemlist'

c# - 使用 PayPal API 模拟账户到账户的支付

php - 访问 PayPal 沙箱 Rest API 时响应 401