我可以在BlueSnap上销售PayPal预付费产品吗?

时间:2017-09-17 09:11:46

标签: paypal payment-gateway payment bluesnap

我在BlueSnap有一个账户,我可以让我的购物者使用PayPal购买。我在发送信用卡订单时使用支付API,并且我可以将授权和捕获分开,如下所示:

{
    "amount": 100,
    "vaultedShopperId": xxxx1240,
    "recurringTransaction": "ECOMMERCE",
    "softDescriptor": "MYSOFT",
    "currency": "USD",
    "cardTransactionType": "AUTH_ONLY"
}

稍后用此捕获:

{
    "cardTransactionType": "CAPTURE",
    "transactionId": xxxxx77363
}

但我不知道如何为PayPal交易做这件事。我需要延迟捕获的原因是因为我想卖掉预订的商品,我不想在PayPal中向购物者收费,直到我准备好发货。

我正在使用Payment API,我不确定如何将购买分为两个阶段/阶段。我查看了文档,但找不到简单的答案。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

BlueSnap有几种与PayPal互动的方式。通过Payment API,他们有三个流程,每个流程用于特定的场景:

  • 标准流程用于购买基本PayPal。
  • 分步流程是指您首先将购物者发送给PayPal并在当天晚些时候授​​权付款并进行捕获的地方。
  • 延迟捕获是您将购物者发送到PayPal,然后在PayPal中创建待处理订单的地方 - 您可以在几个月后捕获资金。

对于您正在描述的问题,听起来延迟捕获流是最合适的。

完整的API位于:https://developers.bluesnap.com/v8976-JSON/docs/update-paypal-transactionhttps://developers.bluesnap.com/v8976-JSON/docs/create-paypal-transaction

您可以通过发送创建订单请求(通过POST)开始:

{
    "merchantTransactionId": "testtransaction1",
    "softDescriptor": "ABC COMPANY",
    "amount": "100.00",
    "currency": "USD",
    "payer-info": {
        "firstName": "John",
        "lastName": "Doe"
     },
     "paypalTransaction": {
         "transactionType": "SET_ORDER",
         "returnUrl": "http://www.returnURL.com",
         "cancelUrl": "http://www.cancelURL.com",
         "maxAmount": "120.00"
     }
}

发送此消息后,响应将包含PayPal重定向URL和BlueSnap订单ID(稍后保存)。发送你的购物者。

购物者从PayPal返回后,您确定要设置挂单(以及多少)发送此请求(通过PUT):

{
    "amount": "105.00",
    "currency": "USD",
    "paypalTransaction": {
        "orderId": "4006145",
        "transactionType": "DO_ORDER"
    }
}

此请求中的订单ID在第一步中提供。现在您可以等到产品到货并准备发货。一旦发货(可能是在第2步之后的几周),您可以发送捕获请求以获取资金(通过PUT):

{
    "amount": "104.00",
    "currency": "USD",
    "paypalTransaction": {
        "orderId": "4006145",
        "transactionType": "CAPTURE"
    }
}

注意:您无法获得比第2步中发送的更多资金 - 因此,在您创建待处理订单时,请考虑潜在的附加费!

希望它有所帮助:)