REST api (C# lib) 上的贝宝快速结帐
Posted
技术标签:
【中文标题】REST api (C# lib) 上的贝宝快速结帐【英文标题】:paypal express checkout on 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。
杜克
【问题讨论】:
【参考方案1】:根据您的帖子,您将创建一个Order
- 强烈建议您在此链接中使用他们的库(它包含示例,应该让您快速上手,维护得很好,维护者很棒/响应迅速)
Create it - 这将映射到经典 SetExpressCheckout
Redirect to Paypal 获得用户批准。重定向 URL 是响应的一部分(不再只是一个令牌)
如果用户“批准”,Paypal 会像在经典中一样重定向回来
您将在else
block 的示例中看到此处理
就像经典的PayerID
在查询字符串中一样
Execute付款
响应将包含您需要的数据,正如您将在执行语句下面的行中看到的那样,因此它映射到GetExpressCheckoutDetails
您还将在注释行中看到有关下一步做什么(身份验证、捕获等)的选项。这些将映射到“最终确定”付款
您可以在获取详细信息后在上面“调整”运费/税金,并且与经典 IINM 的规则相同,至于您可以添加的最大额外金额 - 115% not to exceed $75)
如果您有沙盒帐户,我有一个调试页面here,其中显示了可能有用的数据 io。
请注意,我只是部分捕获 ("is_final_capture": false
),因此如果您检查您的沙盒(买家)帐户,收取的总金额不会是全部金额
第..
【讨论】:
以上是关于REST api (C# lib) 上的贝宝快速结帐的主要内容,如果未能解决你的问题,请参考以下文章
经典 API 密钥与 REST API 凭证共存的贝宝可能性