2013-12-08 99 views
1

我一直在關注PayPal directions以在Python中實現其REST API,但我錯過了一些難題的關鍵部分,我不知道在哪裏可以找到它們。到目前爲止,我有以下代碼開始處理付款:在Python中實現PayPal REST API

api = paypalrestsdk.set_config(
    mode="sandbox", 
    client_id="XXX", 
    client_secret="XXX") 

api.get_token() 

payment = paypalrestsdk.Payment({ 
    "intent": "sale", 
    "payer": { "payment_method": "paypal" }, 
    "redirect_urls": { 
     "return_url": "https://XXX", 
     "cancel_url": "https://XXX" }, 

    "transactions": [ { 
     "amount": { 
      "total": "50", 
      "currency": "USD" }, 
     "description": "creating a payment" 
     } ] 
    }) 

payment.create() 

到目前爲止,一切都很好(雖然我不知道該怎麼做的記號,我得到...)。 這裏開始我的問題(或缺乏或知識)。首先,我需要approval url。然後,在接下來的步驟中,我不知道怎麼去處理支付的執行所需的信息:payment idpayer id

payment = paypalrestsdk.Payment.find("XXX") 
payment.execute({"payer_id": "XXX"}) 

這最後兩行的關鍵是使交易發生。我在哪裏得到他們的論據?

在此先感謝您的幫助!

回答

3

創建payment.create()後,您必須獲取payment.id並將其保存在用戶會話中。

並重定向用戶批准網址。使用下面的代碼,以獲得批准網址:

for link in payment.links: 
    if link.method == "REDIRECT": 
     redirect_url = link.href 
     print("Redirect for approval: %s"%(redirect_url)) 

使用來自用戶會話的payment.idPayerIDreturn_url執行付款。

樣品:

+0

Siddick,感謝您的回答。我現在清楚你在哪裏獲得「批准網址」和「付款ID」。但是,你在哪裏得到'付款人ID'?謝謝。 –

+0

完成批准過程後,PayerID將位於'return_url'中。示例返回URL:'https:// XXX /?PayerID = DUFRQ8GWYMJXC' – siddick