iT邦幫忙

0

paypal+網站處理

匿名 2014-02-08 01:56:403140 瀏覽
  • 分享至 

  • xImage

大家好,關於paypal我想要的目的如下.

(完成)1.從網站跳轉到paypal的付款頁面,並帶上所需要的資料.
2.交易完成後paypal發送HTTP POST到網站,網站再回傳資料給paypal確定交易狀態(VERIFIED or INVALID)
(完成)3.交易取消跳轉回網站某個頁面.

詳細說明一下需要幫忙的第2點:

如何在交易成功後的返回頁面中(php能達成嗎? 看paypal範例好像是說cgi,但是看不明白)
傳送驗證的資訊給paypal,然後依據返回資料(VERIFIED or INVALID)如是verified就執行sql代碼?

回傳驗證的資訊長的像這樣(網上查到)

https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate&mc_gross=19.95&protection_eligibility=Eligible&address_status=confirmed&payer_id=LPLWNMTBWMFAY&tax=0.00&address_street=1+Main+St&payment_date=20%3A12%3A59+Jan+13%2C+2009+PST&payment_status=Completed&charset=windows-1252&address_zip=95131&first_name=Test&mc_fee=0.88&address_country_code=US&address_name=Test+User&notify_version=2.6&custom=&payer_status=verified&address_country=United+States&address_city=San+Jose&quantity=1&verify_sign=AtkOfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-1XcmSoGtf&payer_email=gpmac_1231902590_per%40paypal.com&txn_id=61E67681CH3238416&payment_type=instant&last_name=User&address_state=CA&receiver_email=gpmac_1231902686_biz%40paypal.com&payment_fee=0.88&receiver_id=S8XGHLYDW9T3S&txn_type=express_checkout&item_name=&mc_currency=USD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00&transaction_subject=&payment_gross=19.95&shipping=0.00

資料庫要執行的動作如下

("UPDATE ".USERS." SET abcd=abcd+500 WHERE id= '".$USER['id']."';");
luckyman iT邦新手 2 級 ‧ 2014-02-20 03:44:17 檢舉
两个部分,我的做法是,一个用来源检查,另外一个是返回页面一定要做数据验证的,除非用户伪造出合法数据,否则一定不会通过,也就不会更新资料库了。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
luckyman
iT邦新手 2 級 ‧ 2014-02-12 08:30:00
最佳解答

2.交易完成後paypal發送HTTP POST到網站,網站再回傳資料給paypal確定交易狀態(VERIFIED or INVALID)

这一步只要用户在payapl上完成支付后,会回传相关的资料到你的网站,包括交易ID等等,这已经是确认完成支付了。不需要再回传资料给Paypal了。
回传资料就是回到你网站的某个php页面。php页面接受这些资料然后处理显示就好了。

看看这个https://developer.paypal.com/docs/integration/web/web-checkout/

匿名 檢舉

luckyman提到:
https://developer.paypal.com/docs/integration/web/web-checkout/

先謝謝你的回答!
但是我想問一個很基本的問題:
那我該如何避免使用者直接連線到返回的頁面執行資料庫的指令?

我要發表回答

立即登入回答