1

ウェブサイトでのデジタル トランザクションにペイパルの REST API を使用しています。私はそれをすべてセットアップして動作させ、数人のユーザーからの支払いを正常に受け入れ、デジタル製品を提供することができました. ただし、現時点では、PayPal はトランザクションを物理的なアイテムであるかのように認識しています。トランザクションをデジタルとしてマークすることに関して、REST ドキュメントには何も見つかりませんでした。私の支払い要求の 1 つの例は次のようになります。

{
  "intent": "sale",
  "redirect_urls": {
    "return_url": "http:\/\/www.googulator.com\/goPro?finishPurchase=true&googleid=123456789",
    "cancel_url": "http:\/\/www.googulator.com\/goPro"
  },
  "payer": {
    "payment_method": "paypal"
  },
  "transactions": [
    {
      "amount": {
        "total": "5.00",
        "currency": "USD"
      },
      "description": "PWYW Lifetime Googulator Pro",
      "item_list": {
        "items": [
          {
            "quantity": "1",
            "name": "Lifetime Googulator Pro",
            "price": "5.00",
            "currency": "USD"
          }
        ]
      }
    }
  ]
}

私の質問は、REST API でデジタル トランザクションが適切にサポートされているか、それとも PayPal の従来の API を使用する必要があるかということです。

4

3 に答える 3

1

デジタル トランザクションは、REST API で適切に、または完全にサポートされていません。引き続き PayPal の CLASSIC API を使用してください。乞うご期待。

于 2013-10-22T04:28:43.547 に答える
0

エクスペリエンス プロファイルhttps://developer.paypal.com/docs/api/payment-experience/を作成することで、少なくとも配送を無効にすることができ ます。

Postman というアプリケーションを使用して、https: //api.sandbox.paypal.com/v1/payment-experience/web-profiles の PayPal に POST リクエストを送信しました。

この JSON データを使用すると、次のようになります。

{
  "name": "AppName",
  "presentation": {
    "brand_name": "AppName Paypal",
    "locale_code": "US"
  },
  "input_fields": {
    "no_shipping": 1,
    "address_override": 1
  },
  "flow_config": {
    "landing_page_type": "login"
  }
}

配送を無効にする no_shipping 1 を使用したことに注意してください。この POST リクエストで Authorization Bearer トークンも送信しました。

リクエストが成功すると、新しく作成されたエクスペリエンス プロファイルの ID が取得されます。ID は、エクスプレス チェックアウト支払いを作成するときに使用されます。

"experience_profile_id":"experience_profile_id",
于 2016-08-14T13:19:38.640 に答える
0

手遅れであることはわかっていますが、他の誰かがこの質問を見つけた場合に備えて答えています。

これは、C# SDK を使用する方法です。

プロファイルを作成します。

string createProfile(APIContext apiContext) {
    var profile = new WebProfile()
    {
        name = Guid.NewGuid().ToString(),                
        input_fields = new InputFields()
        {
            no_shipping = 1
        },
        temporary = true
    };

    return profile.Create(apiContext).id;
}

次に、この関数で返された ID を支払いに設定します。

var profileCreated = createProfile(apiContext);
            Payment paymentParms = new Payment {
                intent = "sale",
                payer = new Payer
                {
                    payment_method = "paypal"
                },
                redirect_urls = new RedirectUrls
                {
                    return_url = WebConfig.WebSite.BaseUrl + "Paypal/Success",
                    cancel_url = WebConfig.WebSite.BaseUrl + "Paypal/Cancel",

                },
                experience_profile_id = profileCreated
            };
于 2017-07-07T19:13:40.933 に答える