昨天做出的,今天整理一下,省的以后忘了。
Papers.php
view plaincopy to clipboardprint<html>
<head>
<title>Test Paypal</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_blank" id="book1">
<input type="text" name="item_name" value="Test Papers">
<input type="text" name="amount" value="0.99">
<input type="text" name="quantity" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="add" value="1">
<input type="hidden" name="business" value="jasmin_1246618940_biz@gmail.com">
<input type="hidden" name="cancel_return" value="http://localhost/test/Papers.php">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="Paper Item">
<input type="hidden" name="amount" value="0.99">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="return" value="http://localhost/test/backdeal.php">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cbt" value="download the Papers">
<input type="hidden" name="item_number" value="233223">
<input type="submit" value="Add Cart"/>
</form>
</body>
</html>
backdeal.php
view plaincopy to clipboardprint<?php
$paper_id = $_POST['item_number1'];
$num_cart_items = $_POST['num_cart_items'];
$status = $_POST['payment_status'];
if ($status == "Completed") {
//付費成功,在此情況下發(fā)貨是安全的。
echo "Success";
}
elseif ($status == "Pending") {
//款項在途,目前Paypal有可能出現(xiàn)狀態(tài)為Pending,實際上已經(jīng)支付成功的情況。
echo $_POST['pending_reason'];
}
//輸出$_POST的所有數(shù)據(jù)。
foreach($_POST as $key => $value)
{
echo "POST Data: $key -> $value <br>";
}
?>
測試時首先需要一個Sandbox賬號(注冊網(wǎng)站
https://developer.paypal.com/cgi-bin/devscr 注冊時一定要記住密碼提示問題,以后會用到),然后申請買家與賣家的虛擬賬號,還需要給這兩個賬號進行虛擬充值。而且要保持登錄狀態(tài)。接著就可以進行測試了。還有什么要注意的呢?對了,把截圖發(fā)上來看看。
1. 購買頁面
2.購物車頁面
3.登錄Paypal(用虛擬賬號里買家的賬號和密碼)
4.Paypal付款頁面
5.付款成功頁面
6.返回頁面(即backdeal.php 頁面)的輸出結(jié)果如下:
view plaincopy to clipboardprintpaymentreviewPOST Data: mc_gross -> 0.99
POST Data: protection_eligibility -> Ineligible
POST Data: item_number1 -> 233223
POST Data: payer_id -> QSKRV926PM7AL
POST Data: tax -> 0.00
POST Data: payment_date -> 02:59:23 Jul 07, 2009 PDT
POST Data: payment_status -> Pending
POST Data: charset -> windows-1252
POST Data: mc_shipping -> 0.00
POST Data: mc_handling -> 0.00
POST Data: first_name -> Test
POST Data: mc_fee -> 0.33
POST Data: notify_version -> 2.8
POST Data: custom ->
POST Data: payer_status -> verified
POST Data: business -> jasmin_1246618940_biz@gmail.com
POST Data: num_cart_items -> 1
POST Data: mc_handling1 -> 0.00
POST Data: payer_email -> jasmin_1246618447_per@gmail.com
POST Data: verify_sign -> An5ns1Kso7MWUdW4ErQKJJJ4qi4-ADU.pqWUlkv2hnEDCsdGSJBX1bvG
POST Data: mc_shipping1 -> 0.00
POST Data: tax1 -> 0.00
POST Data: txn_id -> 89V06263DG826990A
POST Data: payment_type -> instant
POST Data: last_name -> User
POST Data: item_name1 -> Paper Item\'
POST Data: receiver_email -> jasmin_1246618940_biz@gmail.com
POST Data: payment_fee -> 0.33
POST Data: quantity1 -> 1
POST Data: receiver_id -> 9TMP6ZSR6XR6Q
POST Data: pending_reason -> paymentreview
POST Data: txn_type -> cart
POST Data: mc_currency -> USD
POST Data: mc_gross_1 -> 0.99
POST Data: residence_country -> US
POST Data: test_ipn -> 1
POST Data: transaction_subject -> Shopping Cart
POST Data: payment_gross -> 0.99
POST Data: merchant_return_link -> download the Papers
POST Data: auth -> hObb17BdrqqjrSa00pYfzCSf6MttbS_Ec-q8hJPSne13234xgG-6RaNApIyNfICHO0cKHxo8GJd1jbf8