php xml 提交,php提交xml数据

header("Content-type:text/xml;charset=utf-8");

date_default_timezone_set("PRC");

$data["service"] = 'pay.xdpay.qpay';

$data["version"] = '1.3';

$data["sign_type"] = 'MD5';

$data["mch_id"] = '708557244914661589';

$data["out_trade_no"] = date('YmdHis');

$data["body"] = 'chongzhi';

//$data['total_fee']=$_POST['money']*100;

$data['total_fee'] = '1000' * 100;

$data['mch_create_ip'] = '51.154.11.55';

$data['notify_url'] = 'http://www.ju57l.cn/pinganfu/server.php';

$data['nonce_str'] = '123456789';

$key = 'QEOOurNOi3emNSxWXTIaRasHLPOwA22z';//秘钥

$str_to_sign = prepareSign($data);

//var_dump($str_to_sign);die;

$sign = sign($str_to_sign, $key);

$data['sign'] = $sign;

//$result = buildForm($data, "url");

//echo $result;

echo '<?xml version="1.0" encoding="utf-8"?>';

//echo arr2xml($data);

$xmlData = "";

$xmlData = arr2xml($data);

//echo $xmlData;die;

$ch = curl_init();

// set URL and other appropriate options

curl_setopt($ch, CURLOPT_URL,"url");

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);

curl_exec($ch);

/**

* 将数组转换为xml

* @param array $data 要转换的数组

* @param bool $root 是否要根节点

* @return string xml字符串

* @author Dragondean

*/

function arr2xml($data, $root = true)

{

ksort($data);

$str = "";

if ($root) $str .= "";

foreach ($data as $key => $val) {

if (is_array($val)) {

$child = arr2xml($val, false);

$str .= "$child$key>";

} else {

$str .= "$key>";

}

}

if ($root) $str .= "";

return $str;

}

/**

* 创建表单

* @data 表单内容

* @gateway 支付网关地址

*/

function buildForm($data, $gateway)

{

$sHtml = "

";

while (list ($key, $val) = each($data)) {

$sHtml .= "";

}

$sHtml .= "

";

$sHtml .= "

";

return $sHtml;

}

/**

* @name 准备签名/验签字符串

*/

function prepareSign($data)

{

ksort($data);

$array = array();

foreach ($data as $key => $value) {

if ($value == null) {

continue;

}

array_push($array, $key . '=' . $value);

}

return implode($array, '&');

}

/**

* @name 生成签名

* @param sourceData

* @return 签名数据

*/

function sign($data, $key)

{

$signature = strtoupper(md5($data . '&key=' . $key));

return $signature;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值