php支付宝wap接口教程,支付宝手机支付 接口_PHP教程

讲解:

一:取得 token

要取得 token 有两个 参数是 是必须

req_data 和 sign

req_data格式如下(这是一些必填的。如果想要更多的参数自己去下载手册):

{通知地址}

{返回地址}

{商家支付宝账号}

{外部订单号}

{商品介绍}

{商品价格}

sign(签名)格式如下

$params = array(

/* 基本信息 */

'partner' => {支付宝pid},

'req_id' => md5({网站订单号}),

'service' => 'alipay.wap.trade.create.direct',

'format' => 'xml',

'v' => '2.0',

'sec_id' => 'MD5',

"_input_charset" => CHARSET

"req_data" => {以面的req_data}

);

if($sort){

/* 排序 */

ksort($params);

reset($params);

}

$sign = '';

foreach ($params AS $key => $value)

{

$sign .= "{$key}={$value}&";

}

md5(substr($sign, 0, -1) . {支付宝key});

sign 要注意的地方 是 排序 md5之前一定要按手册上的排序不然会出错的

然后以post方式提交给

http://wappaygw.alipay.com/service/rest.htm?

注意 返回的 数据是 经过 urlencode 的 所心我们要用 urldecode 解码 然后还得用解析 返回的数据

/**

* 解析远程模拟提交后返回的信息

* @param $str_text 要解析的字符串

* @return 解析结果

*/

function parseResponse($str_text) {

//以“&”字符切割字符串

$para_split = explode('&',$str_text);

//把切割后的字符串数组变成变量与数值组合的数组

foreach ($para_split as $item) {

//获得第一个=字符的位置

$nPos = strpos($item,'=');

//获得字符串长度

$nLen = strlen($item);

//获得变量名

$key = substr($item,0,$nPos);

//获得数值

$value = substr($item,$nPos+1,$nLen-$nPos-1);

//放入数组中

$para_text[$key] = $value;

}

if( ! empty ($para_text['res_data'])) {

//token从res_data中解析出来(也就是说res_data中已经包含token的内容)

$doc = new DOMDocument();

$doc->loadXML($para_text['res_data']);

$para_text['request_token'] = $doc->getElementsByTagName( "request_token" )->item(0)->nodeValue;

}

return $para_text;

}

最后的 规范的支付表单数据 就是(这里是要用get)

$params = array(

'partner' => $this->_config['wap_alipay_partner'],

'req_id' => md5({网站订单号}),

'service' => 'alipay.wap.trade.create.direct',

'format' => 'xml',

'v' => '2.0',

'sec_id' => 'MD5',

"_input_charset" => CHARSET

'req_data'=>'

' . {token} . '

',

'service'=>"alipay.wap.auth.authAndExecute",

);

//这个地方也要签名的。方式和上面一样

$params['sign']= _get_sign($params);

//get数据

$return = array(

'online' => {联线},

'desc' => {支付说明},

'method' => 'GET',

'gateway' => 'http://wappaygw.alipay.com/service/rest.htm?',

'params' => $params,

)

最后 跳转到支付宝

$value){?>

明天上返回的那个

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值