接入流程
使用邮箱即可快速注册,无需付费~ 立即注册
1、根据邮件提示完善商户信息,对接业务地址、联系方式、以及结算收款信息
2、联系客服、沟通业务需求、开通账号。
3、客服根据您的业务需求安排专业技术人员协助API接入。
我们提供专业的技术服务协助接入,您也可以参考开发文档自行接入。主要的步骤是在您的项目里调用创建订单的API,以及配置好相对应的回调方法。当然,我们也提供了一些DEMO代码供您参考,无论您的项目是JAVA、PHP还是其他语言,都支持快速接入~
1、api 接口:单独固定支付方式接入。
2、收银台接口:所有支付方式统一接入、由用户自行选择付款方式。
下方文档仅做简要说明,只需重点关注 “创建订单”接口和“回调通知” 即可,其他都是可选备用接口。
在接入过程中有任何问题欢迎联系我们,我们会为您提供专业的接入技术服务~
注意事项:
商户后台基本资料填写的网站地址必须实际对接的业务地址对应、商户一旦审核通过不允许审核地址以外的网站地址接入、特殊情况请联系客服
请求地址:http://pay.alamps.cn/apisubmit
请求方式:重定向 或者 html表单提交
参数说明:
参数 类型长度 是否可空 是否签名 参数说明 version varchar(5) 否 是 【版本号】默认1.0 customerid int(8) 否 是 【商户编号】商户后台获取 sdorderno varchar(20) 否 是 【商户订单号】必须确保唯一性 total_fee decimal(10,2) 否 是 【订单金额】单位元。保留两位小数,不足以0占位。且不能出现千位分隔符 paytype varchar(10) 否 否 【支付编号】详见附录1 bankcode varchar(10) 网银直连不可为空,其他支付方式可为空 否 【银行编号】详见附录2 notifyurl varchar(50) 否 是 【异步通知URL】不能带有任何参数,且必须是可正常访问的url returnurl varchar(50) 否 是 【同步通知URL】不能带有任何参数,且必须是可正常访问的url remark varchar(50) 是 否 【订单备注说明】建议传递商品名称,不建议留空! sign varchar(32) 否 否 【md5签名】参照下方md5签名说明
md5签名方法说明:
{value}要替换成接收到的值,{apikey}要替换成平台分配的接入密钥,可在商户后台获取,&total_fee值需保留两位小数,不足两位以0占位,并且金额参数中不能有千位分隔符。(如:15868695.00)
version={value}&customerid={value}&total_fee={value}&sdorderno={value}& notifyurl={value}&returnurl={value}&{apikey}
使用md5签名上面拼接好的字符串即可生成小写的32位密文
http://pay.alamps.cn/apiorderquery
请求方式:POST/GET
参数说明:
参数 类型长度 是否可空 是否签名 参数说明 customerid int(8) 否 是 【商户编号】商户后台获取 sdorderno varchar(20) 否 是 【商户订单号】要查询的商户订单号 reqtime varchar(14) 否 是 【当前时间戳】格式:yyyymmddhhmmss sign varchar(32) 否 是 【md5签名】参照下方md5签名说明
md5签名方法说明:
{value}要替换成接收到的值,{apikey}要替换成平台分配的接入密钥,可在商户后台获取
customerid={value}&sdorderno={value}&reqtime={value}&{apikey}
使用md5签名上面拼接好的字符串即可生成小写的32位密文
备注:该接口只能查询最近三天的订单记录
返回数据:订单成功则返回(示例):{"status":1,"msg":"成功订单","sdorderno":"商户订单号","total_fee":"订单金额","sdpayno":"平台订单号"}
订单未付款或失败返回(示例):{"status":0,"msg":"失败订单"}
通知方式:异步POST、同步GET
收到通知回复:success 联调时请务必确保异步通知下该参数正常返回。否则后台将会冻结通知失败的订单。不参与结算
通知参数说明:
参数 类型长度 参数说明 status int(1) 【订单状态】1:成功,其他失败 customerid varchar(8) 【商户编号】 sdpayno varchar(20) 【平台订单号】 sdorderno varchar(20) 【商户订单号】 total_fee decimal(10,2) 【订单金额】单位元 paytype varchar(20) 【支付类型】 remark varchar(50) 【订单备注】 sign varchar(32) 【md5验证签名串】参照签名方法
md5签名方法说明:
{value}要替换成接收到的值,{apikey}要替换成平台分配的接入密钥,可在商户后台获取
customerid={value}&status={value}&sdpayno={value}&sdorderno={value}&total_fee={value}&paytype={value}&{apikey}
使用md5签名上面拼接好的字符串即可生成小写的32位密文
paytype参数值说明:
支付方式名称 支付编号 支付宝 alipay 支付宝H5 alih5 微信H5 wxh5 微信公众号 wxgzh 微信扫码 weixin 银联支付 union 在线网银 bank
当paytype为bank时,bankcode为以下银行取值:
银行名称 银行编号 中国工商银行 ICBC 中国农业银行 ABC 中国银行 BOCSH 建设银行 CCB 招商银行 CMB 浦发银行 SPDB 广发银行 GDB 交通银行 BOCOM 邮政储蓄银行 PSBC 中信银行 CNCB 民生银行 CMBC 光大银行 CEB 华夏银行 HXB 兴业银行 CIB 上海银行 BOS 上海农商 SRCB 平安银行 PAB 北京银行 BCCB
错误返回说明:
返回参数 返回说明 排查方案 002 商户账号未审核 联系客服检查商户状态 003 商户账号已停用 联系客服检查商户状态 104 商户API功能未开通 联系客服核实该商户是否开通api接入功能 105 商户收银台功能未开通 联系客服核实该商户是否开通收银台接入功能 106 支付方式不存在 检查paytype参数,是否填写正确。 201 Sign验证失败 检查签名方式,以及商户秘钥是否正确。 206 交易网址错误 检查当前接入网址是否是开户时填写网站地址。如果不是请联系客服变更接入网址
<?php $userkey='de05ee7ce11b2c66566abc95a317e3be1f73cb9b'; $version=$_POST['version']; $customerid=$_POST['customerid']; $sdorderno=$_POST['sdorderno']; $total_fee=$_POST['total_fee']; $paytype=$_POST['paytype']; $bankcode=$_POST['bankcode']; $notifyurl=$_POST['notifyurl']; $returnurl=$_POST['returnurl']; $remark=$_POST['remark']; $sign=md5('version='.$version.'&customerid='.$customerid.'&total_fee='.$total_fee.'&sdorderno='.$sdorderno.'& notifyurl='.$ notifyurl.'&returnurl='.$returnurl.'&'.$userkey); ?> <!doctype html> <html> <head> <title>正在转到付款页</title> </head> <body onload="document.pay.submit()"> <form name="pay" action="http://pay.alamps.cn/apisubmit" method="post"> <input type="hidden" name="version" value="<?php echo $version?>"> <input type="hidden" name="customerid" value="<?php echo $customerid?>"> <input type="hidden" name="sdorderno" value="<?php echo $sdorderno?>"> <input type="hidden" name="total_fee" value="<?php echo $total_fee?>"> <input type="hidden" name="paytype" value="<?php echo $paytype?>"> <input type="hidden" name="notifyurl" value="<?php echo $notifyurl?>"> <input type="hidden" name="returnurl" value="<?php echo $returnurl?>"> <input type="hidden" name="remark" value="<?php echo $remark?>"> <input type="hidden" name="bankcode" value="<?php echo $bankcode?>"> <input type="hidden" name="sign" value="<?php echo $sign?>"> </form> </body> </html>
<?php $userkey='de05ee7ce11b2c66566abc95a317e3be1f73cb9b'; $status=$_POST['status']; $customerid=$_POST['customerid']; $sdorderno=$_POST['sdorderno']; $total_fee=$_POST['total_fee']; $paytype=$_POST['paytype']; $sdpayno=$_POST['sdpayno']; $remark=$_POST['remark']; $sign=$_POST['sign']; //file_put_contents( dirname(__FILE__).'/post.txt', var_export($_POST, true ), FILE_APPEND ); $mysign=md5('customerid='.$customerid.'&status='.$status.'&sdpayno='.$sdpayno.'&sdorderno='.$sdorderno.'&total_fee='.$total_fee.'&paytype='.$paytype.'&'.$userkey); if($sign==$mysign){ if($status=='1'){ //此处处理你自己的业务逻辑 echo 'success'; //注意:此条语句不可漏掉 } } echo 'fail'; ?>