支付宝接入教程以及服务端给app写支付接口入门 联系客服

发布时间 : 星期五 文章支付宝接入教程以及服务端给app写支付接口入门更新完毕开始阅读adfc9b1303020740be1e650e52ea551810a6c9a0

此格式固定写法!!

有一点要说明,sdk传参是只要参入业务参数即可!

如果想修改returnUrl或者notifyUrl的时候直接$aop->returnUrl=”正式的同步通知网址”或者$aop->notifyUrl=”正式的异步通知网址”,两者选择一个即可!; 对参数的修改可以看AlipayTradeWapPayRequest类中的方法。

以上是对demo和sdk调试的基本用法,不尽或者有误的地方,大家可以测试雅正!、 下面讲讲如何给APP写支付接口! 服务端给客户端写接口须知:

1.要明确服务端要做的事情:私钥和支付宝公钥必须放在服务端,签名过程必须放在服务端。 2.在请求参数列表中,除去sign、sign_type两个参数外,其他需要使用到的参数皆是要签名的参数。

3.在同步通知、服务器异步通知参数列表中,除去sign、sign_type两个参数外,凡是通知返回回来的参数皆是要验签的参数。 4.sign值要做utf-8 URLencode。

正式接入开始:

文档地址:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1

下载demo

移动支付的demo中有服务端demo代码(以php为例) 首先看服务器demo示例的配置文件alipay.config.php

好,我们此时看下请求参数文档会发现一个配置项是demo中缺少的! 请求参数文档地址:

https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103663&docType=1 我们对比配置文件,发现

也就说,demo的示例中少了seller_id这个必要参数!大家自己加上。seller_id的值是商家的支付宝账号!

在配置文件中,有两个参数需要注意private_key和alipay_public_key 这个应该是最近修正的写法。你会发现在之前的写法中是

也就是说,这个地方可以写公私钥的路径也可以写具体的公私钥内容,再次要注意的是:公私钥的格式!!用官方提供的openssl工具进行生成的私钥是保存到本地的,公钥用于上传并换取支付宝公钥,且存到本地,上传修改的位置是合作伙伴密钥(之前有讲过!!)如果曾经在网页上有支付宝支付,那么当时的私钥和支付宝公钥是可以再次使用的!无需修改!

配置项要说明的基本也就是这些,其他的都无需变动!

接下来就是服务端要集成demo的重头戏了,那就是生成签名操作

之前官方并没有给出明确的文档,说的也是相当模糊,写此文时候官方已经有文档解释。 附录文档地址:

https://doc.open.alipay.com/doc2/detail.htm?treeId=59&articleId=103927&docType=1 看过它的文档还有些迷糊的话,请看如下我真实程序下的步骤过程: 在传递的接口文件中需要引入

写过接口的人都应该很清楚,只要给接口传递一个orderid就可以知道此订单的购物情况。那么接下来要进行的签名过程,和要给客户端发送的数据请严格按照下列代码进行!! //先根据部分参数(订单信息)获取签名 $signParameter = array(

\\\\\\

\\

\\);

//获取预签名字符串

$strSign=createLinkstring($signParameter); //调用RAS加密函数获取加密串

$result=rsaSign($strSign,$alipay_config['private_key_path']); //将完整的信息发给客户端 $parameter = array(

\\\\\\

\\

\\\

\);

$payinfo=createLinkstring($parameter);

exit('{\看到exit里面的result会发现json_encode_ex这个函数,此函数为我自己为转换json_encode函数中文转码所写,实际上的写法是json_encode($payinfo)但是里面的中文全部被转换了。而支付宝的参数要求,明确要求,原码传递中文,文字是什么样的就是什么样的! /* *

* 对变量进行 JSON 编码

* @param mixed value 待编码的 value ,除了resource 类型之外,可以为任何数据类型,该函数只能接受 UTF-8 编码的数据

* @return string 返回 value 值的 JSON 形式 */

function json_encode_ex( $value) { if ( version_compare( PHP_VERSION,'5.4.0','<')) { $str = json_encode( $value); $str = preg_replace_callback( \ function( $matchs) { return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1])); }, $str ); return $str; } else { return json_encode( $value, JSON_UNESCAPED_UNICODE); } }