2015-10-09 76 views
1

我正尝试在我们的网站上使用REST API与以下工作流程步骤结合使用PayPal快速结帐。PayPal Rest API Express结帐工作流程

  1. 客户添加项目到购物车,我们有项目列表信息(商品价格,数量,分类汇总,但没有税和运费)
  2. 客户点击快速结帐按钮,我们通过估计分类汇总到PayPal
  3. 客户创建/选择送货地址
  4. 客户点击提交
  5. 客户回到我们的网站与送货地址
  6. 我们计算客户的运费和税收基础上的送货地址
  7. 我们以总计=运费+税金+小计显示订单预览。
  8. 我们做的另一个API调用到PayPal,以执行支付

为了配合上述步骤,这里都是基于API的我的理解 https://developer.paypal.com/docs/api/

  1. 例如,我们有项目ABC $ 10数量= 1小计= $ 10
  2. 我们称之为支付系统API,并设置意图“授权”,发送量总计:$ 10
  3. 步骤上PayPal网站
  4. 以上#3在PayPal网站
  5. 步骤#4以上
  6. 贝宝与授权对象进行回应包含授权标识和HATEOAS链接捕获支付 在响应对象,我们还可以得到付款人对象来计算运费和税
  7. 现在我们共有= $ 10美元(小计)+ $ 2(运费)+ $ 1.5(含税)= $ 13.5
  8. 我们显示与项目小计,运费,税收总计
  9. 当客户确认订单,我们做的顺序预览 https://developer.paypal.com/docs/api/#authorizations 8.1我们使用在步骤#5获得的身份验证ID调用授权 8.2我们称认证ID和一个新的金额$ 13.5(高于步骤#2) 8.3贝宝与is_final_capture确认捕获=真

我的问题是:

  1. 这是正确的快速结帐工作流程?由于我们必须计算运费/税款,因此比常规付款稍微复杂一些。

  2. 请问paypal会把我们的账单地址从上面的api调用吗?我在响应对象中没有看到帐单地址。如果不是我们如何得到它?

请注意这些问题与REST api not classic express checkout有关。提前致谢。

回答

1

有点整改并重新总结流量:

  1. 例如项目ABC $ 10数量= 1只小计= $ 10
  2. 电话支付系统API,并设置意图为“authorize”,发送量总计:$ 10 (在payer对象识别"payment_method": "paypal"
  3. 支付API响应返回HATEOAS链接approval_url,并使用该客户重定向到PayPal支付页面
  4. 小号上述TEP#3 PayPal网站
  5. 步骤#4以上的PayPal网站和客户返回到您的网站
  6. 呼叫execute API与HATEOAS链接(执行环节)从第2步,并从返回URL获得"payer_id", PayPal用一组新的HATEOAS链接进行响应,包括用于捕获付款的捕获链接。 此外,你将能够从JSON响应
  7. 现在计算航运&税,总= $ 10的(小计)+ $ 2(船舶)+ $ 1.5(税)的payer_info对象= $ 13.5
  8. 获得shipping_address显示与项目小计,运费,税收总计顺序预览
  9. 当客户确认订单,致电(步骤#6 HATEOAS)捕捉API与新的金额$ 13.5
(比第2步高)

is_final_capture=true是api请求参数,不是来自PayPal的确认,它表明这是一个完全捕获而非部分捕获。什么贝宝将确认为JSON响应"state": "completed"

您将无法获得买家的帐单地址,该功能已被审查和授予您的帐户特殊的访问,您可能会转向贝宝服务了解更多详情

+0

非常感谢,清楚我的所有问题。我会尝试并确认。 –

+0

嗨,我的另一个问题是我的运费+税款>原始付款的15%。你能在这里检查我的问题吗? http://stackoverflow.com/questions/33290845/paypal-rest-api-capture-authorization-amount-limit-exceeded –