小猪CMS支付协调对接规范.docx
最新 料推荐小猪 CMS 支付协调对接规范1、支付请求方式:直接访问这个url 即可pigcms:U(Alipay/pay/,array(参数 )数组里面的参数解释参数名称参数描述是否必填备注token公众号的标识是wecha_id微信用户的标识是from订单来源是首字母大写,为当前模块,控制器名称,比如控制器是ProductAction.class.php ,那么这里就是 ProductorderName订单名称否不填写则使用当前时间戳orderid订单 ID是两者必填一个single_orderid单一订单 ID否notOnline是否显示在线支否传 1 表示不显示在线支付付notOffline是否显示线下支否传 1 表示显示线下支付付2、您的订单表中必须有的字段字段备注paid1 表示已支付, 0 表示未支付orderid用于存储订单号 ,长度小于 30,必须是字符串,不能是自增id,建议订单前加应用名字transactionid长度小于 150 的字符串,用于存储第三方支付的订单号paytype长度 30,字符串,用户存储支付方式wecha_id公众号粉丝 openidprice金额,单位元third_id第三方支付平台的订单ID ,用于对帐。(字段(varchar(100) ),与 transactionid 只留一个即可3、当支付成功后系统将该订单的paid 设置为 1,然后跳转到你写的控制器的payReturn 函数付款成功后同步跳转Wap:(跳转来的from 参数 )/payReturn参数名称参数描述是否必有备注1最新 料推荐token公众号的标识是此三种参数为跳转到支付时的wecha_id微信用户的标识是内容原样返回orderid订单 ID是engPayType支付方式英文格式的标识cnPayType支付方式中文此参数被 urlencode 化nohandle是否异步处理过否如果有这个参数, 标示支付后的逻辑已经异步处理过了,pareturn 里面请务必不要重复处理a) 货到付款或到店付款,目前只是做成了一种跳转,无实际处理内容,请各应用自行检查并记录保存下订单的方式。b) 平台支付属于支付接口处理的一部分,所以各应用无需顾及是否正在使用平台支付。在此函数中进行支付成功后的处理例如:function payReturn()$orderid=$_GETorderid;/ 根据订单号查出 $order if($order)/ 如果订单存在/在这里判断如果支付过了,就进行处理,比如减少库存,发短信等/如果没支付,则进入另外一个判断elseexit( 订单不存在 );4、微信支付的异步处理(只有微信支付异步处理)对于微信支付比较特殊,微信支付后如果不点击完成则会导致付款成功但不被记录的情况。异步处理也会自动把订单标注为已支付(paid=1) ,并记录支付方式和第三方订单号。所以需要在org 下新建一个类ThirdPay+ 您的 action 类名 (比如:ThirdPayGroupon.class.php )里面有 index 函数,参数为(订单id,第三方支付名称,第三方支付订单id)/特别要注意的是token 和 wecha_id 要从订单里取出参考 ThirdPayGroupon.class.php一定要判断是否支付过了5、建议因为支付返回同时存在同步返回和异步返回,所以可以把支付后的处理统一写到上面所提的文件中,然后在第三步中调用比如function payReturn()if(isset($_GETnohandle)/异步处理过了,就不执行逻辑处理了else2最新 料推荐$orderid=$_GETorderid;ThirdPayGroupon:index($out_trade_no);6、附录付款方式的英文标识全部为小写!目前已经有的:1. alipay (支付宝)2. weixin( 微信支付 )3. tenpay(财付通 wap 手机 )4. tenpayComputer( 财付通 即时到帐 )5. yeepay(易宝支付 )6. allinpay( 通联支付 )7. daofu( 货到付款 )8. dianfu( 到店付款 )9.chinabank( 网银在线 )3