文档章节

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

wsy5344
 wsy5344
发布于 2015/08/25 10:55
字数 507
阅读 1548
收藏 11
点赞 0
评论 1

原文链接: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

支付宝接口使用文档说明 支付宝异步通知

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

kisshua ⋅ 2012/05/10 ⋅ 0

支付宝即时到账接口开发

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

NO17 ⋅ 2016/03/14 ⋅ 14

支付宝即时到账接口的集成和使用

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

小近 ⋅ 2014/11/10 ⋅ 1

JAVA 实现支付宝接口

0、必备类 AlipayConfig配置文件(签约账号、密钥、页面跳转通知页面都在这里设定) MD5支付宝签名加密文件 AlipayCore支付宝接口公共函数类 AlipayNotify-支付宝通知处理类 AlipaySubmit支付...

周田 ⋅ 2016/04/26 ⋅ 0

电商交易背景知识合集第一季

郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川、天顺等知乎网友的精彩回答 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是什...

旁观者-郑昀 ⋅ 2015/09/08 ⋅ 0

java--用户下单-->支付--退款流程

工程做完了 来个总结 1.提交订单1.1 提交参数(主要参数)用户id、商家id、服务id、服务单价、数量、总价1.2 验证提交过来的信息是否正确验证参数:单价与总价1.3 向订单表插入数据状态:未付款...

求是科技 ⋅ 2016/07/01 ⋅ 0

支付宝python接口

支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口 介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口。 fork自这个版本 alipay. 增加...

okidogi ⋅ 2012/07/03 ⋅ 0

通知页面notify_url、返回页面return_url是怎么工作的?

返回页面(return_url文件)工作原理 即:商户系统请求/支付宝响应交互模式 1、 构造请求数据 商户通过提供的接口代码示例,通过代码示例的规则,程序构造与运算得到sign加密结果以及构造后的...

JORDANSG ⋅ 2013/07/19 ⋅ 0

支付宝对接3(收费问题)

一、支付方式: 支付宝有2种方式对接支付。 1、平台做中转,钱先到平台账号,然后再调用单笔转账给用户转账。 2、让商户账户直接进行签约以及收款。 二、支付费率: 我们做平台,选择平台做中...

显kui ⋅ 01/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

关于“幂等”操作

一个幂等(idempotent)操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同. 开发中, 我们经常考虑幂等操作的场景有“接口调用”、“MQ消费”、“自动任务”等 接口调用, 可能出现...

零二一七 ⋅ 18分钟前 ⋅ 0

Dubbo服务服务暴露之ProxyFactory Invoker

Dubbo服务暴露过程中有涉及到调用ProxyFactory 中方法获取Invoker对象的过程,现在我们来深究下源码,来看下这个过程是在做些什么,返回的Invoker 对象是什么,我们来看一下代码的切入点: ...

哲别0 ⋅ 33分钟前 ⋅ 0

GP两种连接方式性能测试

GP两种连接方式性能测试 Pivotal import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GPQueryStrin......

仔仔1993 ⋅ 37分钟前 ⋅ 0

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 59分钟前 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 今天 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 今天 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 今天 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 今天 ⋅ 0

linux 信号机制

signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协...

xxdd ⋅ 今天 ⋅ 0

my.cnf, my-small.cnf, my-medium.cnf, my-large.cnf

1. my-small.cnf # Example MySQL config file for small systems.## This is for a system with little memory (<= 64M) where MySQL is only used# from time to time and it's importa......

周云台 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部