2011-07-28 72 views
0

我一直在研究如何在沒有用戶點擊結帳按鈕的情況下自動傳遞PayPal表單提交。下面是代碼我有那麼這樣做:嘗試使用cURL提交Paypal表單...

<?php 
$post_data['cmd'] = '_xclick'; 
$post_data['business'] = '[email protected]'; 
$post_data['item_name'] = 'The Items You are Purchasing'; 
$post_data['amount'] = '25'; 
$post_data['no_shipping'] = '1'; 
$post_data['no_note'] = '1'; 
$post_data['currency_code'] = 'USD'; 
$post_data['bn'] = 'PP-BuyNowBF'; 

foreach ($post_data as $key => $value) { 
$post_items[] = $key . '=' . $value; 
} 
$post_string = implode ('&', $post_items); 

$curl_connection = curl_init('https://www.paypal.com/cgi-bin/webscr'); 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

$result = curl_exec($curl_connection); 

curl_close($curl_connection); 
?> 

是最好的,我可以告訴大家這個應該交給貝寶傳遞價值,並要求用戶支付$ 25「的項目是購買」到「myemail @ website.com「。但由於某種原因,它不起作用,你知道爲什麼嗎?

回答

1

正如我所看到的,您正在使用「立即購買」按鈕。由於用戶(客戶)應參與付款流程,因此用戶(客戶)應使用curl工作:在PayPal上登錄其(或她)的帳戶,或者輸入付款和帳單信息(如果他沒有),確認付款並返回給您'shop'手動。用戶如何用curl來做到這一點?所有PayPal行爲都將存儲在curl變量中(如果我們可以這樣說的話)如果您使用這種付款方式,並且不希望按鈕被手動點擊(請閱讀表單提交),您可以自動提交JavaScript的。或者您可以將用戶重定向到PalPal並通過GET傳遞所有參數。它也應該工作。否則,您應該使用PayPal Payments Pro。具體來說 - 直接支付。用戶將在您的網站上填寫表格(信用卡,帳單信息等),您可以使用curl完成付款。

對不起,對英文不好。我試圖說清楚。我希望它會有幫助。

+0

我瞭解客戶必須登錄paypal並輸入付款和賬單信息。我只是需要這樣做,讓用戶訪問paypal頁面,併爲用戶設置信息。我將研究使用GET參數,看看是否可行。感謝你的回答。 – Presto

+0

我很猶豫,但不管怎樣,我的英語怎麼樣?它是否令人滿意?不要猶豫與評論:) –

+0

是的,你的英語是令人滿意的。保持良好的工作:) – Presto

0

查看您的要求,您需要做的就是將發佈信息保留在最後一頁,然後您希望將客戶重定向到paypal。

喜歡的東西

<!-- Display all items etc. --> 

<form action='https://www.paypal.com/cgi-bin/webscr' method='POST'> 
POST DATA 

Submit button 
</form> 

你也可以在這裏你發佈的所有信息進入一個網頁,並使用JavaScript來自動額外頁面提交表單。

+0

如果你打算倒下,如果你可以發表評論 - 這是爲什麼? – Sukumar

+0

我沒有投下你的答案。我將研究你提到的JavaScript選項,看看是否可行。謝謝。 – Presto

+0

@普雷斯托,我正在向那些做了倒行逆施的人致辭。無論如何,你的問題祝你好運。 – Sukumar