文档章节

支付宝境外收单接口/付款url生成,MD5验证/单笔交易查询/XML转JSON

wsy5344
 wsy5344
发布于 2015/08/25 10:55
字数 507
阅读 1587
收藏 11

原文链接:http://my.oschina.net/rain21/blog/496780

【适用于国际版PC端支付接口使用】http://global.alipay.com

本文采用简单的MD5验证,安全高效,易于集成。对于单站点使用的仅需简单去重验证即可

付款URL生成:

<?php
$parameter = array(
    'service'           => 'create_forex_trade',
    'partner'           => '2088101122123456',//合作者ID
    '_input_charset'    => strtolower('utf-8'),
    'notify_url'        => 'http://domain.com/alipay/notify_url.php',//异步通知URL
    'return_url'        => 'http://domain.com/alipay/return_url.php',//同步跳转URL
    /* 业务参数 */
    'subject'           => '付款余额',
    'out_trade_no'      => '201605061456001',//商户订单号,唯一
    'total_fee'         => '9.99',//金额
    'currency'          => "CNY"//币种
);

ksort($parameter);
reset($parameter);

$param = '';
$sign  = '';

foreach ($parameter AS $key => $val)
{
    $param .= "$key=" .urlencode($val). "&";
    $sign  .= "$key=$val&";
}

$param = substr($param, 0, -1);
$sign  = substr($sign, 0, -1). '760bdzec6y9goq7ctyx96ezkz78287de';
$button = '<div style="text-align:center"><input type="button" onclick="window.open(\'https://mapi.alipay.net/gateway.do?'.$param. '&sign='.md5($sign).'&sign_type=MD5\')" value="' .'确定'. '" /></div>';
//上面的链接是测试环境,实际请改为https://mapi.alipay.com/gateway.do?
echo $button;


验证异步回调

<?php
if (!empty($_POST))
{
    foreach($_POST as $key => $data)
    {
        $_GET[$key] = $data;
    }
}

/* 检查数字签名是否正确 */
ksort($_GET);
reset($_GET);

$sign = '';
foreach ($_GET AS $key=>$val)
{
    if ($key != 'sign' && $key != 'sign_type' && $key != 'code')
    {
        $sign .= "$key=$val&";
    }
}

$sign = substr($sign, 0, -1) . '760bdzec6y9goq7ctyx96ezkz78287de';

if (md5($sign) != $_GET['sign'])
{
    return false;
}else{
    return true;
}
/*$json='{"notify_id":"8cc4f9dca6ac0bdcc944b0cd51ce41292l","notify_type":"trade_status_sync","sign":"6aa07c5e5119eebc22d5fd9af78e39e1","trade_no":"2015082500001000100080033805","total_fee":"0.01","out_trade_no":"20150825092330","currency":"USD","notify_time":"2015-08-25 09:25:03","trade_status":"TRADE_FINISHED","sign_type":"MD5"}';
$_POST=json_decode($json,true);*/


获取单笔订单信息/单笔交易查询接口

参数,生成规则与之前一致:

$parameter = array(
    'service'           => 'single_trade_query',
    'partner'           => '2088101122123456',//合作者ID
    '_input_charset'    => strtolower('utf-8'),
    'out_trade_no'      => '201605061457001',//商户订单号,唯一
);


下载对账文件接口

$parameter = array(
    'service'           => 'forex_compare_file',
    'partner'           => '2088101122123456',//合作者ID
    'start_date'=>'20150829',
    'end_date'=>'20150905'
);

tips:间隔不能超过10天,结束日期不能为当天


常见错误编号汇总

http://wenku.baidu.com/link?url=hcEp0lBZm7vqH2RfHXwP77O83sj7Q27jlOClF48hSNPl5bAgwBlGhGDoVuY4TEqQTsoj6Y7oZ431-SOztZKhwc64F7ZVU4vVjdLtA0aFsl_

XML转JSON

function xml_to_json($source) { 
$xml_array=simplexml_load_string($source); 
$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,请查看JSON.php 
return $json; 
} 

echo(xml_to_json($xml));


© 著作权归作者所有

共有 人打赏支持
wsy5344
粉丝 14
博文 21
码字总数 16215
作品 0
武汉
程序员
私信 提问
加载中

评论(1)

南北桥
南北桥
如 是 app端支付调用该是如何?
有理想的鱼/ymate-payment-v2

YMP-Payment v2 基于YMP框架实现的第三方支付(包括支付宝、微信支付、银联支付、京东支付、百度钱包和QQ钱包等)接入模块,目前已实现: 名称 状态 支付宝 测试通过 微信支付 重构完成,待测试...

有理想的鱼
2017/06/15
0
0
支付宝接口使用文档说明 支付宝异步通知

支付宝接口使用文档说明 支付宝异步通知(notifyurl)与returnurl. 现支付宝的通知有两类。 A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通知,对应的参数为retur...

kisshua
2012/05/10
0
0
支付宝即时到账接口的集成和使用

作者:近乎团队 如果商户想在自己的网站上,集成支付宝的即时到账接口,首先要申请该服务,申请地址:https://b.alipay.com/order/productDetail.htm?productId=2012051600355662 商户系统请...

小近
2014/11/10
14.1K
1
PHP 支付类库 PaySDK v1.0.9 新增支付宝 APP 支付

PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。可以轻松嵌入支持 PHP >= 5.4 的任何系统中。 从 v1.0.7 - v1.0.9 的更新内容如下: 支持支付宝APP支...

宇润
04/04
1K
4
支付宝即时到账接口开发

本文主要讨论PC端的用户付款接口 1,支付宝网页对接原理 用户输入支付宝账号密码及确认支付等操作,都是在支付宝域下进行。 网站将业务信息通过类似于重定向的方式提交到支付宝。 以下截图:...

NO17
2016/03/14
1K
14

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部