Wb/?c=pay
(创建新页面为 '==付款接口== *成功获取token后,提交订单信息给开放平台。开放平台验证表单信息,验证通过则页面跳转至“付款页”,用户可进行付…') |
|||
(未显示2个用户的7个中间版本) | |||
第1行: | 第1行: | ||
==付款接口== | ==付款接口== | ||
− | * | + | *成功获取token后,提交订单信息(生成表单)给开放平台。开放平台验证表单信息,验证通过则页面跳转至“付款页”,用户可进行付款操作;如果验证不通过,则返回报错信息。 |
− | *说明:调用“付款接口”前,必须需先获取支付token(即:调用[[ | + | *说明:调用“付款接口”前,必须需先获取支付token(即:调用[[pay/get_token|get_token接口]])。 |
− | + | ||
==URL== | ==URL== | ||
− | * | + | *为了给开发者提供“便捷的支付接入流程”,我们提供两套环境供开发者使用。 |
− | + | ||
+ | *'''线上环境:''' | ||
+ | *1) 应用已通过支付审核(有“支付ID”),则调用“线上环境”调试支付接口。 | ||
+ | *2) 线上接口URL:http://pay.weibo.com/wb/?c=pay | ||
+ | |||
+ | |||
+ | *'''测试环境:''' | ||
+ | *1) 应用未通过支付审核但已通过文案,可申请“模拟支付ID”;若已获得“模拟支付ID”,则可调用“测试环境”调试支付接口。 | ||
+ | *2) 测试接口URL:http://open.weibo.com/paytest/payTestPay.php | ||
==HTTP请求方式== | ==HTTP请求方式== | ||
第39行: | 第46行: | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">''' | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''return_url'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">string</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">string</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">支付成功后,“返回应用”链接地址。须有开发者传递至平台。</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">支付成功后,“返回应用”链接地址。须有开发者传递至平台。</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc"> '''order_id'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc"> '''order_id'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">int</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">int</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">订单号,即获取token时传递的订单号,此订单号由开发者生成,可用于对账、客服支持等。</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">订单号,即获取token时传递的订单号,此订单号由开发者生成,可用于对账、客服支持等。</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc"> '''order_uid'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc"> '''order_uid'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">long</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">long</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">支付用户的SinaUID</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">支付用户的SinaUID</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">'''desc'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''desc'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">string</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">string</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">商品名称,必须是utf-8编码,并且要做urlEncode前端用于显示给用户看。</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">商品名称,必须是utf-8编码,并且要做urlEncode前端用于显示给用户看。</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">'''appkey'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''appkey'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">long</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">long</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">'''amount'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''amount'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">int</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">int</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">支付金额,单位分, 大于0小于500000</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">支付金额,单位分, 大于0小于500000</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">'''version'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''version'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">string</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">string</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">接口版本号(1.0)</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">接口版本号(1.0)</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">'''token'''</th> | + | <th width="15%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">'''token'''</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">true</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">true</th> |
− | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">string</th> | + | <th width="10%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">string</th> |
− | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">通过调用get_token接口获取</th> | + | <th width="65%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">通过调用get_token接口获取</th> |
</tr> | </tr> | ||
</table> | </table> | ||
− | |||
− | |||
==相关约束== | ==相关约束== | ||
无 | 无 | ||
− | |||
− | |||
− | |||
第120行: | 第122行: | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1001</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1001</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">returnUrl参数不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">returnUrl参数不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1002</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1002</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">商户订单号不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">商户订单号不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1001</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1001</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">returnUrl参数不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">returnUrl参数不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1003</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1003</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">用户id不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">用户id不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1004</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1004</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">商品名不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">商品名不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1005</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1005</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">appkey不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">appkey不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1006</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1006</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">金额不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">金额不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1008</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1008</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">token不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">token不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1010</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1010</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">验证token失败</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">验证token失败</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1011</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1011</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">后台通知地址不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">后台通知地址不合法</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1012</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1012</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">订单初始化失败</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">订单初始化失败</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1013</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1013</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">支付失败,错误不在错误列表中</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">支付失败,错误不在错误列表中</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1014</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1014</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">系统繁忙请稍候再试</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">系统繁忙请稍候再试</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1015</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1015</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">ip不合法,没有使用权限</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">ip不合法,没有使用权限</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1017</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1017</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">该订单号不存在</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">该订单号不存在</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1018</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1018</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">该订单处于初始化状态</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">该订单处于初始化状态</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1019</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1019</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">该订单已生成</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">该订单已生成</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1020</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1020</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">该订单正在进行中</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">该订单正在进行中</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1021</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1021</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">订单详情有错</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">订单详情有错</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1022</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1022</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">订单已过期,请重新发起</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">订单已过期,请重新发起</th> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">1023</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">1023</th> |
− | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid#cccccc">开放平台应用编号不合法</th> | + | <th width="40%" style="text-align:left;padding-left:5px;border:1px solid #cccccc">开放平台应用编号不合法</th> |
</tr> | </tr> | ||
</table> | </table> |
2013年12月13日 (五) 14:35的最后版本
付款接口
- 成功获取token后,提交订单信息(生成表单)给开放平台。开放平台验证表单信息,验证通过则页面跳转至“付款页”,用户可进行付款操作;如果验证不通过,则返回报错信息。
- 说明:调用“付款接口”前,必须需先获取支付token(即:调用get_token接口)。
URL
- 为了给开发者提供“便捷的支付接入流程”,我们提供两套环境供开发者使用。
- 线上环境:
- 1) 应用已通过支付审核(有“支付ID”),则调用“线上环境”调试支付接口。
- 2) 线上接口URL:http://pay.weibo.com/wb/?c=pay
- 测试环境:
- 1) 应用未通过支付审核但已通过文案,可申请“模拟支付ID”;若已获得“模拟支付ID”,则可调用“测试环境”调试支付接口。
- 2) 测试接口URL:http://open.weibo.com/paytest/payTestPay.php
HTTP请求方式
- POST
是否需要登录
- true
- 关于登录授权,参见 如何登录授权
表单参数
参数名 | 必填 | 类型及范围 | 说明 |
---|---|---|---|
return_url | true | string | 支付成功后,“返回应用”链接地址。须有开发者传递至平台。 |
order_id | true | int | 订单号,即获取token时传递的订单号,此订单号由开发者生成,可用于对账、客服支持等。 |
order_uid | true | long | 支付用户的SinaUID |
desc | true | string | 商品名称,必须是utf-8编码,并且要做urlEncode前端用于显示给用户看。 |
appkey | true | long | 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。 |
amount | true | int | 支付金额,单位分, 大于0小于500000 |
version | true | string | 接口版本号(1.0) |
token | true | string | 通过调用get_token接口获取 |
相关约束
无
返回值错误与错误代码
?result=fail&errcode=$errno
错误代码 | 说明 |
---|---|
1001 | returnUrl参数不合法 |
1002 | 商户订单号不合法 |
1001 | returnUrl参数不合法 |
1003 | 用户id不合法 |
1004 | 商品名不合法 |
1005 | appkey不合法 |
1006 | 金额不合法 |
1008 | token不合法 |
1010 | 验证token失败 |
1011 | 后台通知地址不合法 |
1012 | 订单初始化失败 |
1013 | 支付失败,错误不在错误列表中 |
1014 | 系统繁忙请稍候再试 |
1015 | ip不合法,没有使用权限 |
1017 | 该订单号不存在 |
1018 | 该订单处于初始化状态 |
1019 | 该订单已生成 |
1020 | 该订单正在进行中 |
1021 | 订单详情有错 |
1022 | 订单已过期,请重新发起 |
1023 | 开放平台应用编号不合法 |
其他
- 无
文档更新时间: 2013-12-13