0

把 REST API 拿出来试一试,因为我的参考框架是“经典 API”,特别是Express Checkout,我非常想“映射”功能。

事情进展顺利,所以这比技术更“概念”……也许有一天它会变成“维基”……

用例:payment_method:paypal

  1. payer_info(Paypal 用户)仅在execute

    • 为了成功(重新)计算总计以考虑运输和税收(基于送货地址),通过order(不是sale)这样做的正确方法是否允许authorization并且capture在此类详细信息可用之后(对商家)?
    • 换句话说,我们没有经典GetExpressCheckoutDetails,所以这似乎是路径(?)
  2. 基于此和测试,我们可以假设通话的“最大值”为 115%(高于order总数)authorization吗?根据测试,这似乎是真的..否则"AUTHORIZATION_AMOUNT_LIMIT_EXCEEDED"


更新:如果您想知道:

  • 您无法更新付款资源。它实际上在链接中说明(但我不得不尝试)。

  • 你也不能“重新执行”

在这一点上,到目前为止唯一有效的是授权 < 115%

未结授权的总和不能超过创建订单时提供给 PayPal 的金额的 115% 或 75 美元(以较少者为准)。

参考:https ://developer.paypal.com/docs/integration/direct/create-process-order/


  1. 在文档中,对象payer定义status为:

    付款人 PayPal 帐户的状态。目前paypal payment_method仅支持,但credit_card payment_method稍后可用。允许值:VERIFIEDUNVERIFIED

    它似乎没有被sale退回order

    因此,第二个问题变成了,您如何“要求”经过验证的 PayPal 用户(现在仅是帐户级别设置 - 没有 API 覆盖)? flow_config

其他“缺失”的项目记录在 API 发行说明中(例如fee)。

谢谢!

4

1 回答 1

0

order和intentauthorize 都可用于根据 PayPal 用户信息完成流程(调整authorization或)。capture

  1. execute- 返回 PayPal payer_info- 例如

    "payer_info": {
      "email": "foo@noemail.com",
      "first_name": "Ed",
      "last_name": "SF",
      "payer_id": "ABCDEFG",
      "shipping_address": {
        "recipient_name": "Ed SF",
        "line1": "111 Some street",
        "city": "San Francisco",
        "country_code": "US",
        "postal_code": "94111",
        "state": "CA"
      }
    }
    
  2. 根据以上信息,如果需要任何调整(即销售税、运费),

    • order可以是authorized额外的金额*(以及随后captured
    • authorization可以是captured额外的金额*

*额外金额不能超过原价的 115% 或 75 美元(以较少者为准)orderauthorization否则AUTHORIZATION_AMOUNT_LIMIT_EXCEEDED分别CAPTURE_AMOUNT_LIMIT_EXCEEDED报错。

当 acapture大于原始authorization值时,这将显示给用户:

附加授权信息

据我所知,order(调整后的金额)没有类似的消息 - 额外授权金额显示在交易详细信息中(仅)。

于 2015-01-01T03:35:35.717 回答