2017-01-27 56 views
4

我創造&節點,經快速結帳API V4以下付款:PayPal快速結帳 - 授權沒有出現在儀表板

return paypal.rest.payment.create(env, client, { 
    intent: 'authorize', 
    payer: { 
     "payment_method": "paypal" 
    }, 
    transactions: [ 
     { 
      amount: { total: '0.01', currency: 'GBP' } 
     } 
    ] 
}); 

,我返回以下對象:

enter image description here

這似乎都在正確的軌道上。問題在於,在沙箱儀表板中沒有此付款身份驗證的跡象。

我甚至嘗試過使用真實賬戶,併發送真正的一分錢,但在買方或賣方賬戶中沒有交易跡象。

如果此付款未成功創建,爲什麼我看到的對象返回的狀態爲"created"

供參考:如果我使用intent: 'sale'發送付款,它將成功處理並顯示在儀表板中。

回答

2

我有同樣的問題。 API和PayPal的文件是什麼可怕...

的邏輯是這樣的:

1.你必須要執行付款。

我試圖做到這一點的方式不同,但最簡單的方法弄成這個樣子:

  1. 在PayPal網站的例子與onAuthorize顯示您的完整代碼:function(數據,行動),所以這個功能應該是這樣的:

onAuthorize: function(data, actions) { 
 
        return actions.payment.get().then(function(payment) { 
 
    
 
    
 
         console.log(payment); 
 
    
 
         var b = payment.payer; 
 
         var bb = b.payer_info; 
 
    
 
        // alert (bb.payer_id); 
 
    
 
        var newUrl = "http://YOURDOMAIN.COM/execute.php?paymentId="+payment.id+"&token=EC-"+payment.cart+"&PayerID="+bb.payer_id; 
 
    
 
         console.log(newUrl); 
 
    // go to the execute.php and send to paypal payment confirmation 
 
        window.location.replace(newUrl); 
 
    
 
    
 
        }); 
 
    
 
      }

一旦你得到了交易的對象,你仍然必須確認它!

  • 去這裏https://github.com/paypal/PayPal-PHP-SDK/wiki/Installation下載PHP SDK,它需要提交execute.php容易地確認付款,並在管理面板貝寶出現了。我下載SDK直接鏈接,無需Composer。
  • 然後在新創建的文件execute.php中直接連接SDK而無需Composer。
  • //使用下面直接下載安裝

    require __DIR__ . '/PayPal-PHP-SDK/autoload.php'; 
    
  • 然後該文件中的內容複製本身execute.php並替換它的PayPal客戶端ID和客戶端祕密。這裏execute.php的完整代碼http://pastebin.com/K750qcxE 我無法在此粘貼所有代碼。引用的代碼在這裏是非常實施,以及貝寶API :)
  • p.s.在我發送的腳本返回url,但我不知道爲什麼貝寶沒有重定向到它,所以我重定向使用javascript時,你得到的交易對象。

    對不起我的英語