PayPal REST API - 订单和授权金额

时间:2014-12-07 04:23:08

标签: paypal paypal-rest-sdk

将REST API用于旋转,并且因为我的参考框架是"经典API",特别是Express Checkout,我几乎试图" map& #34;功能。

事情已经发生了,所以这更像是概念性的"而不是技术......可能有一天这会变成一个" wiki" ...

使用案例:payment_method:paypal

  1. payer_info(Paypal用户)仅在execute

    之后才可用
    • 为了成功(重新)计算总帐以计算运费和税金(根据送货地址),是通过order(而不是sale)执行此操作的正确方法,从而允许{在获得此类详细信息(商家)之后{1}}和authorization
    • 换句话说,我们没有经典capture所以这似乎是路径(?)
  2. 基于此和测试,我们可以假设GetExpressCheckoutDetails来电的"maximum" of 115%order总计)?根据测试,这似乎是正确的。另外authorization


  3. 更新:如果您想知道:

    • 你不能update a payment resource。它实际上已在链接中声明(但我尝试)。

    • 你不能重新执行"任

    到目前为止,唯一有效的方法是授权< 115%

      

    创建订单时向PayPal提供的金额不得超过115%或75美元(以较低者为准)。

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


    1. 在文档中,payer object"AUTHORIZATION_AMOUNT_LIMIT_EXCEEDED"定义为:

        

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

      似乎不会在UNVERIFIEDsale中返回。

      因此,第二个问题变成了,你如何要求"经过验证的PayPal用户(现在仅限此帐户级设置 - 无API覆盖)? 参见flow_config

    2. 另一个"失踪"项目记录在API发行说明中(例如order)。

      谢谢!

1 个答案:

答案 0 :(得分:0)

orderauthorize intent 可用于根据PayPal用户信息完成流程(对authorizationcapture的调整)

  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 额外金额* {/ 1>}
  3. *额外金额不得超过原始capturedorder的115%或75美元(以较低者为准),否则为authorizationAUTHORIZATION_AMOUNT_LIMIT_EXCEEDED错误分别引发。

    CAPTURE_AMOUNT_LIMIT_EXCEEDED大于原始capture时,会向用户显示:

    additional authorization message

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