2011-12-22 76 views
0

我正在開發一個網站,我試圖訪問貝寶。所以我試圖使用curl將存儲在我的數據庫中的用戶信息發送到PayPal服務器。我不知道如何做到這一點。在這方面請你能幫助我嗎?如何在curl中設置變量?

我的代碼:

$fetSql  ="SELECT * FROM `donator` WHERE `donatorId`='".$_REQUEST['donatorId']."'"; 
     //echo $fetSql; 
     $fetQry  =$db->query($fetSql); 
     $array  =$db->fetch_array($fetQry); 



    $customer_first_name  =$array['donatorFName']; 
    $customer_last_name  =$array['donatorLName']; 
    $example_payment_amuont  =$array['amount']; 
    $customer_address1  =$array['address1']; 
    $customer_address2  =$array['address2']; 
    $customer_city  =$array['city']; 
    $customer_state  =$array['state']; 
    $customer_zip   =$array['zip']; 
    $customer_country  =$array['country']; 
    $customer_credit_card_number  =$array['cardNo']; 
    $cc_cvv2_number  =$array['cvvNo']; 
    $cc_expiration_month  =$array['expMnth']; 
    $cc_expiration_year  =$array['expYr']; 
    $currencyCodeType ='GBP'; 

我如何分配在捲曲這個數據?

+0

小[Bobby-Tables](http://bobby-tables.com/)想來玩。 *嘆息* – Quentin 2011-12-22 09:51:37

+0

cURL是一個用於製作HTTP請求的庫。您必須以客戶需要的格式構建HTTP請求。 – Quentin 2011-12-22 09:52:14

回答

0

首先,我不是paypal的專家,但我懷疑你使用的是正確的方法,我認爲你必須將你的表單的action設置爲指向paypal而不使用curl。

無論如何要回答你的問題來設置捲曲參數你必須使用curl_setopt函數和CURLOPT_POSTFIELDS常數。

這裏一個完整的例子

$ch=curl_init(); 
curl_setopt ($ch,CURLOPT_URL,"https://example.com/"); 
curl_setopt ($ch,CURLOPT_POST,1); 


$post = "user_id=001&price=105"; 

curl_setopt ($ch,CURLOPT_POSTFIELDS,$post); 
curl_setopt ($ch,CURLOPT_SSL_VERIFYPEER,FALSE); 
curl_setopt ($ch,CURLOPT_RETURNTRANSFER, 1); 

var_dump(curl_exec($ch)); 
curl_close ($ch); 
1

你有不錯的例子在PHP中回顯表單並將值作爲隱藏字段提供。

<body onLoad="document.forms['gateway_form'].submit();"> 
<form method="POST" name="gateway_form" action="https://www.paypal.com/cgi-bin/webscr"> 
<input type="hidden" name="$FIELD" value="$VALUE"/> 
<input type="hidden" name="$FIELD2" value="$VALUE2"/> 
.... 
</form> 

因爲它是自動提交的onLoad腳本的成功。

用戶將被重定向到PayPal進行登錄。

如果使用CURL進行此操作,用戶將無法進行付款。