【问题标题】:paypal express checkout on REST api (C# lib)REST api (C# lib) 上的贝宝快速结帐
【发布时间】:2015-12-28 12:25:49
【问题描述】:

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

因此,对于我而言,Express Checkout 步骤是: 1) 客户将商品放入购物车并点击 PayPal 结帐按钮 我跑了

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

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

2) 客户完成 paypal 流程并返回我的网站。从他的支付宝交易中,我应该得到发货地址和他的电子邮件(不提交付款!)并根据他的发货地址计算运费

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

所以这里的问题

1) 由于 PayPal.Api.Payment() 只有创建、执行和更新方法,如何根据 paymentId(如 PAY-21A17783AU475540MKYGAM5Q)使用 C# lib 获取付款(交易)信息?

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

附言。文档中乱七八糟,很多人不明白应该如何正确使用该 API。

杜克

【问题讨论】:

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


    【解决方案1】:

    根据您的帖子,您将创建一个Order - 强烈建议您在此链接中使用他们的库(它包含示例,应该让您快速上手,维护得很好,维护者很棒/响应迅速)

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

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

    3. 如果用户“批准”,Paypal 会像在经典中一样重定向回来

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

      • 响应将包含您需要的数据,正如您将在执行语句下面的行中看到的那样,因此它映射到 GetExpressCheckoutDetails
      • 您还将在注释行中看到有关下一步做什么(身份验证、捕获等)的选项。这些将映射到“最终确定”付款
      • 您可以在获取详细信息后在上面“调整”运费/税金,并且与经典 IINM 的规则相同,至于您可以添加的最大额外金额 - 115% not to exceed $75)

    如果您有沙盒帐户,我有一个调试页面here,其中显示了可能有用的数据 io。

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

    第..

    【讨论】:

      猜你喜欢
      • 2014-09-06
      • 2015-11-18
      • 2017-11-11
      • 2012-10-13
      • 2012-08-06
      • 2019-03-16
      • 2013-07-20
      • 2013-06-07
      • 2015-07-06
      相关资源
      最近更新 更多