2012-09-02 57 views
0

我正在嘗試使用PHP進行PayPal Express Checkout。PayPal Express Checkout將無法使用PHP

<form action='/paypal/expresscheckout.php' METHOD='POST'> 
     <input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/> 
    </form> 

這裏是按鈕之前,它重定向到貝寶屏幕。

<?php 

require_once ("paypalfunctions.php"); 
// ================================== 
// PayPal Express Checkout Module 
// ================================== 

//'------------------------------------ 
//' The paymentAmount is the total value of 
//' the shopping cart, that was set 
//' earlier in a session variable 
//' by the shopping cart page 
//'------------------------------------ 
//$paymentAmount = $_SESSION["Payment_Amount"]; 
$paymentAmount = '1'; 

//'------------------------------------ 
//' The currencyCodeType and paymentType 
//' are set to the selections made on the Integration Assistant 
//'------------------------------------ 
$currencyCodeType = "USD"; 
$paymentType = "Sale"; 

//'------------------------------------ 
//' The returnURL is the location where buyers return to when a 
//' payment has been succesfully authorized. 
//' 
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------ 
$returnURL = "http://www.mydomain.com/add_funds/order_confirm"; 

//'------------------------------------ 
//' The cancelURL is the location buyers are sent to when they hit the 
//' cancel button during authorization of payment during the PayPal flow 
//' 
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------ 
$cancelURL = "http://www.mydomain.com/add_funds/order_cancel"; 

//'------------------------------------ 
//' Calls the SetExpressCheckout API call 
//' 
//' The CallShortcutExpressCheckout function is defined in the file PayPalFunctions.php, 
//' it is included at the top of this file. 
//'------------------------------------------------- 
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL); 
$ack = strtoupper($resArray["ACK"]); 
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING") 
{ 
    RedirectToPayPal ($resArray["TOKEN"]); 
} 
else 
{ 
    //Display a user friendly Error on the page using any of the following error information returned by PayPal 
    $ErrorCode = urldecode($resArray["L_ERRORCODE0"]); 
    $ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]); 
    $ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]); 
    $ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]); 

    echo "SetExpressCheckout API call failed. "; 
    echo "Detailed Error Message: " . $ErrorLongMsg; 
    echo "Short Error Message: " . $ErrorShortMsg; 
    echo "Error Code: " . $ErrorCode; 
    echo "Error Severity Code: " . $ErrorSeverityCode; 
} 
?> 

這是快遞expresscheckout.php代碼

enter image description here

我打的PayPal按鈕後,我可以看到這個畫面沒有任何訂單信息。

我在代碼中付了1美元來支付,但是它並沒有在訂單總結中說出任何內容。

無論如何,我把不同的貝寶賬戶進行這項交易。

enter image description here

我可以看到我的送貨地址和個人信息。

但是,它仍然沒有訂單彙總信息。

應該說你會收到這個產品,這是1美元。

如果我點擊繼續按鈕,它重定向到「RETURNURL」

你知道是什麼問題頁面?

+0

一些更多的信息可能會有所幫助.. –

+0

@KevinWang我把expresscheckout代碼 – Jake

回答

1

而不是重定向到https://www.paypal.com/cgi-bin/webcsr?cmd=_express-checkout&token=EC-xxxxxx的,重定向到https://www.paypal.com/cgi-bin/webcsr?cmd=_express-checkout&token=EC-xxxxxx&useraction=commit

這將美元的價值添加到「訂單摘要」部分,並改變最終查看頁面上的「繼續」按鈕「立即付款」。
如果你不想要後者,你需要開始發送行項目細節;
有關更多信息,請參閱https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECCustomizing

相關問題