2017-01-25 40 views
1

我使用最新的checkout.js進行快速結賬,但不需要顯示任何送貨地址。由於這是一個數字商品,文檔說我需要將noshipping設置爲1.但是,我無法弄清楚如何進入javascript。如何使用快速結賬指定NoShipping 1 checkout.js v4

我遵循basic integration步驟,然後使用REST API執行付款,以便我可以向我的服務器收費。

我已經嘗試添加noshipping:1在JavaScript內部的所有地方創建付款沒有運氣。這裏是什麼樣子(忽略編譯的問題,我只是想表明我多努力,加上noshipping:1個的信息):

payment: function() { 
      var env = this.props.env; 
      var client = this.props.client; 
      return paypal.rest.payment.create(env, client, { 
       transactions: [ 
        { 
         amount: { total: '4.99', currency: 'USD' } 
         DOESNT WORK-->noshipping: 1 
        } 
       ], 
       DOESNT WORK-->noshipping: 1 
      }); 
     }, 

有誰知道如何正確地通過使用最新的結賬noshipping信息。 JS?

回答

1

得到了貝寶支持的「官方」迴應一個星期以後:

感謝您與PayPal商戶技術服務。

不幸的是,當使用 REST API時,我們沒有noshipping的選項。該選項僅在使用NVP/SOAP API的經典快遞 結帳時可用。

它在那裏。這個相當簡單的概念不適用於他們最新的SDK。

+0

無關,但也可能幫助其他人質疑REST API的用處。我還試圖將其用於購物車類型的解決方案,以代表其他賬戶進行付款並且有正式的PayPal回覆:「遺憾的是,代表賬戶執行REST API的選項目前不可用,您需要爲此選項使用NVP傳統API「。這是2017年,我在2013年看到了PayPal的評論,稱它即將推出! –

1

好的,看來他們終於增加了對此的支持。它看起來像這樣:

   payment: { 
       transactions: [ 
        { 
         amount: { total: '19.99', currency: 'USD' } 
         // Possibly there is also a 'custom' field we can specify here; 
         // https://stackoverflow.com/questions/46320753/ 
        } 
       ], 
       application_context: { 
        shipping_preference: 'NO_SHIPPING' 
       } 
      }