1

我正在尝试通过 curl 调用设置虚拟商家。

$url = 'https://demo.myvirtualmerchant.com/VirtualMerchantDemo/process.do';

$request = curl_init($url); // initiate curl object
            curl_setopt($request, CURLOPT_POST, 1);
            curl_setopt($request, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
            curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); // Returns response data instead of TRUE(1)
            curl_setopt($request, CURLOPT_POSTFIELDS, $fields_string); // use HTTP POST to send form data
            curl_setopt($request, CURLOPT_SSL_VERIFYPEER, FALSE); // uncomment this line if you get no gateway response.
            curl_setopt($request, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($request, CURLOPT_FOLLOWLOCATION, 1);
            $post_response = curl_exec($request); // execute curl post and store results in $post_response
            curl_close ($request); // close curl object

            print_r($post_response);die();

字段设置正确。

当我执行此代码时,它首先将我重定向到空白页面,然后刷新,但刷新后我请求了以下参数:perfect-process-status.php?ssl_email=&ssl_status=TEST+MODE&ssl_cvv2_response=P&... 等等...

var_dump 结果(重定向前)

字符串(1504)“”

4

2 回答 2

0

添加: curl_setopt($request, CURLOPT_RETURNTRANSFER, true);

于 2013-11-06T08:50:29.587 回答
0

我在虚拟商户网关上工作。

$url = 'https://demo.myvirtualmerchant.com/VirtualMerchantDemo/process.do';
$fields = array(
'ssl_merchant_id'=>'Enter the virtual merchant id',
    'ssl_user_id'=>'Enter the user id',
    'ssl_pin'=>'Enter the pin number',
    'ssl_show_form'=>'false',//if it is true Converge virtual merchant send one form.
    'ssl_transaction_type'=>'ccsale',
    'ssl_avs_address'=> 'Enter ur address',
    'ssl_avs_zip'=> 'Enter ur zip code',
    'ssl_email'=>'Enter ur email id',
    'ssl_first_name'=>'Enter ur first name',
    'ssl_last_name'=>'Enter the last name',
    'ssl_state'=>'Enter state',
    'ssl_amount'=>'Enter amount details',
    'ssl_card_number'=>'Enter Account card number',//For Dummy card number: '5123456789012346'  
    'ssl_exp_date'=>'Enter Expire date of card',//For Dummy expire date: '0522'
    'ssl_cvv2cvc2'=>'Enter cvc number',//Dummy cvv number: '100'
    'ssl_invoice_number'=>'Enter Invoice number',       
);
$fields_string = http_build_query($fields);
//open curl session
$ch = curl_init();
//begin seting curl options
//set URL
curl_setopt($ch, CURLOPT_URL, $url);
//set method
curl_setopt($ch, CURLOPT_POST, 1);
//set post data string
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//these two options are frequently necessary to avoid SSL errors with PHP
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//perform the curl post and store the result
$result = curl_exec($ch);
//close the curl session
curl_close($ch);}

您必须向 $fields_string 添加值,如果没有值,它将显示为空。如果您想了解更多虚拟商家,请转到:这里。在那个 pdf 中也有PHP 示例代码

于 2015-10-06T14:09:42.683 回答