个人支付宝微信收款插件开发文档

Karson 3月前 2860

免责声明

此文档为个人微信支付免签收款插件的API接口文档,你可以按照此文档将个人二维码收款系统对接到你的商城或订单系统中,不局限于PHP,任何语言、任何客户端都可以接入。

发起支付请求


接口功能

发起支付请求或获取支付二维码相关信息

URL

http://www.yoursite.com/addons/pay/api/create

支持格式

JSON|XML|HTML

HTTP请求方式

GET|POST

请求参数

参数必选类型说明
pricestring支付的金额
out_order_idstring你订单系统的唯一订单号
typestring请求支付的方式,wechat:微信 alipay:支付宝
signstring签名,构造格式见下方的签名方法
product_idint指定产品的ID,为空将自动判断,此产品ID是个人收款管理->产品管理中的ID
notifyurlstring支付成功的回调通知URL,为空将以插件管理中配置的URL为准
returnurlstring支付成功后跳转的URL,为空将以插件管理中配置的URL为准
extendstring自定义信息,此信息将在notifyurl中原封不动的回传,通常用于传递会员ID、会员名称等信息
formatstring请求输出的格式,默认为html,可选json或xml的方式,为html时页面将输出HTML内容

签名方法

md5(md5(price+out_order_id+type+product_id+notifyurl+returnurl+extend)+secretkey)

返回字段

返回字段字段类型说明
codeint返回结果状态。0:失败;1:成功。
msgstring提示文字信息
dataobject订单数据,JSON格式

返回订单数据字段列表

字段名字段类型说明
out_order_idstring外部订单号
pricefloat订单金额
discountpricefloat优惠金额
realpricefloat实际需要支付的金额
typestring支付类型
order_idint个人收款插件内部订单号
remainsecondsint二维码剩余有效时长(秒)
extendstring自定义传递的信息
statusstring订单状态:inprogress=进行中
returnurlstring成功后跳转的URL链接地址(带参数)
payurlstring网页支付的链接URL地址(非二维码地址)
queryurlstring查询订单状态的URL地址(带参数)
qrcodeurlstring二维码URL(可用于生成二维码进行支付使用)

发起查询请求


接口功能

发起查询请求,用于查询订单支付状态

URL

http://www.yoursite.com/addons/pay/api/query

支持格式

JSON|XML|HTML

HTTP请求方式

GET|POST

请求参数

参数必选类型说明
out_order_idstring你订单系统的唯一订单号
signstring签名,构造格式见下方的签名方法
formatstring请求输出的格式,默认为html,可选json或xml的方式,为html时页面将输出HTML内容

签名方法

md5(md5(out_order_id)+secretkey)

返回字段

返回字段字段类型说明
codeint返回结果状态。0:失败;1:成功。
msgstring提示文字信息
dataobject订单数据,JSON格式,内容同创建订单数据格式相同

订单状态

字段名字段类型说明
inprogressstring进行中
expiredstring已过期
paidfloat已支付
settledstring交易完成
unsettledstring回调通知失败

取消订单请求


接口功能

取消订单,用于取消生成的订单,释放占用的二维码

URL

http://www.yoursite.com/addons/pay/api/cancel

支持格式

JSON|XML|HTML

HTTP请求方式

GET|POST

请求参数

参数必选类型说明
order_idstring通过创建订单接口生成的订单号order_id
signstring签名,构造格式见下方的签名方法
formatstring请求输出的格式,默认为html,可选json或xml的方式,为html时页面将输出HTML内容

签名方法

md5(md5(order_id)+secretkey)

返回字段

返回字段字段类型说明
codeint返回结果状态。0:失败;1:成功。
msgstring提示文字信息

回调通知请求


接口功能

用户支付成功后会主动发送通知请求notify_url到你的服务器

HTTP请求方式

POST

请求参数

返回字段字段类型说明
order_idstring免签支付系统中的订单流水号
out_order_idstring你订单系统的唯一订单号
pricefloat订单金额
realpricefloat实际支付金额
typestring支付的方式,wechat:微信 alipay:支付宝
paytimeint支付时间,时间戳
extendstring原样返回你请求的extend信息
signstring签名,构造格式见下方的签名方法

签名方法

md5(md5(order_id + out_order_id + price + realprice + type + paytime + extend)+secretkey)

返回信息

接收到通知后必须返回success这个英文单词,不可以再返回其它任何信息

支付成功跳转


接口功能

用户支付成功后会跳转到对应的return_url链接,请勿在此接口处理订单逻辑,订单逻辑应该在上方的回调通知请求中处理

HTTP请求方式

GET

请求参数

返回字段字段类型说明
order_idstring免签支付系统中的订单流水号
out_order_idstring你订单系统的唯一订单号
signstring签名,构造格式见下方的签名方法

签名方法

md5(md5(order_id + out_order_id)+secretkey)

返回信息

无需返回信息,请自定义展示页面给用户查看

最后于 6天前 被Karson编辑
最新回复 (10)
  • sthwrong 3月前
    感谢TA
    0 引用 2

    见过类似的支付形式,不过能做成插件帅得掉渣。

  • flywin 3月前
    感谢TA
    0 引用 3

    先支持楼主一下,期望有机会测试下

  • chance 3月前
    感谢TA
    0 引用 4

    支持下,有的研究了

  • 小妖多情 4天前
    感谢TA
    0 引用 5

    如果apk能兼容模拟器就完美了

  • jpr5188 1天前
    感谢TA
    0 引用 6

    @Karson secretkey 在哪里配置的?是哪个apk的秘钥吗?

  • jpr5188 21小时前
    感谢TA
    0 引用 7

    翻了一下代码。确定就是那个秘钥。

  • jpr5188 21小时前
    感谢TA
    0 引用 8

    @Karson notify接口 怎么才算支付成功? price 应该等于 realprice吗?

  • Karson 楼主 打赏 17小时前
    感谢TA
    0 引用 9

    @jpr5188 只要能收到notify通知且通过验签说明就是成功的。price不一定等于realprice

  • jpr5188 4小时前
    感谢TA
    0 引用 10

    @Karson 我返回到时候 直接 echo "success" ,但系统里面收到的却是通知失败。前面多了一些空格。怎么处理?

  • jpr5188 4小时前
    感谢TA
    0 引用 11

    屏幕快照 2018-08-21 下午10.35.57.png
    屏幕快照 2018-08-21 下午10.35.36.png
    屏幕快照 2018-08-21 下午10.36.36.png

    最后于 3小时前 被jpr5188编辑
  • 未登录
    12
返回