使用Android SDK在Kotlin中进行PayPal API订单请求

问题描述

根据贝宝(Paypal)的文档,您可以支付订单之类的费用,但是我不知道是否可以使用Android SDK发送此类请求(以下链接):

curl -v -X POST https://api.sandBox.paypal.com/v1/checkout/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Access-Token" \
-H "PayPal-Partner-Attribution-Id: EXAMPLE_MP" \
-d '{
  "purchase_units": [
    {
      "reference_id": "store_mobile_world_order_1234","description": "Mobile World Store order-1234","amount": {
        "currency": "USD","details": {
          "subtotal": "1.09","shipping": "0.02","tax": "0.33"
        },"total": "1.44"
      },"payee": {
        "email": "seller@example.com"
      },"items": [
        {
          "name": "NeoPhone","sku": "sku03","price": "0.54","currency": "USD","quantity": "1"
        },{
          "name": "fitness Watch","sku": "sku04","price": "0.55","quantity": "1"
        }
      ],"shipping_address": {
        "line1": "2211 N First Street","line2": "Building 17","city": "San Jose","country_code": "US","postal_code": "95131","state": "CA","phone": "(123) 456-7890"
      },"shipping_method": "United Postal Service","partner_fee_details": {
        "receiver": {
          "email": "partner@example.com"
        },"amount": {
          "value": "0.01","currency": "USD"
        }
      },"payment_linked_group": 1,"custom": "custom_value_2388","invoice_number": "invoice_number_2388","payment_descriptor": "Payment Mobile World"
    }
  ],"redirect_urls": {
    "return_url": "https://example.com/return","cancel_url": "https://example.com/cancel"
  }
}'

Ps。似乎getStuffToBuy()(第83行)可以发出此请求,但我不确定是否可以发出请求

 purchase_units: [
                {
                  reference_id: another field,description: 'Hello World',amount: {
                    currency_code: 'MXN',value: "100.00"
                  }
                }
              ]

Android SDK:

https://github.com/paypal/PayPal-Android-SDK/blob/master/SampleApp-Kotlin/src/main/java/com/paypal/example/paypalandroidsdkexample/SampleActivity.kt

PayPal的文档:

https://developer.paypal.com/docs/api/orders/v1/

非常感谢!

解决方法

Android SDK已过时,下个月将终止。

如果您要使用本机SDK处理PayPal付款,请使用Express Checkout via the Braintree SDK

要进行身份验证,请使用服务器上https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications底部的沙盒访问令牌,然后将客户端令牌返回给客户端。 (生产访问令牌https://www.paypal.com/api

请勿创建Braintree网关帐户,也不要使用braintreegateway.com的网关凭据。不要使用令牌化密钥。


对于非本地付款,也不应使用链接到的订单v1文档。使用订单v2 https://developer.paypal.com/docs/checkout/reference/server-integration/