php 微信支付企业付款
1.所需参数
2.还需要支付时使用的证书
3.签名的规则
意思就是将上述的除了支付秘钥和签名的9-10项(因为收款用户姓名是根据验证选项而决定是否需要的)
按照ASCII的从小到大排序之后的字符串
例如:$str = "amount=100&check_name=NO_CHECK&desc=奖金啊,提现成功啊 退款成功啊什么的&mch_appid=wx8888888888888888&mchid=1900000109&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&openid=oxTWIuGaIt6gTKsQRLau2M0yL16E&partner_trade_no=10000098201411111234567890&spbill_create_ip=192.168.0.1";
然后我们就要将这些参数填充到xml格式的字符串中去了
4.开始撸码吧
上面的代码我是在thinkphp3.2框架里面写的,所以方法之间的调用用的是$this->XXX();
其他的框架或原生的php可以进行修改方法调用方式即可
1.所需参数 字段名 变量名 必填 示例值 类型 描述 随机字符串 nonce_str 是 5K8264ILTKCH16CQ2502SI8ZNMTM67VS String(32) 随机字符串,随便随机个什么<32位 商户订单号 partner_trade_no 是 10000098201411111234567890 String 订单号,保持唯一性,自定义一个随机订单号 用户 openid openid 是 oxTWIuGaIt6gTKsQRLau2M0yL16E String 商户appid下,某用户的openid 校验用户姓名选项 check_name 是 NO_CHECK 不检验 (小额推荐) FORCE_CHEC 强制检验 OPTION_CHECK 自动检验 String NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账) OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功) 收款用户姓名 re_user_name 可选 马花花 (如果上一个参数为强制检验此为必填项) String 收款用户真实姓名。 如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名 金额 amount 是 100 单位为分 100就是100分. int 企业付款金额,单位为分 企业付款描述信息 desc 是 奖金啊,提现成功啊 退款成功啊什么的 String 企业付款操作说明信息。必填。 Ip地址 spbill_create_ip 是 192.168.0.1 String(32) 调用接口的机器Ip地址服务器ip 支付密钥 key 是 F5YguNW77Ao4N5yu5wZ8Lb00NKO987ks String(32) 设置在商户平台上的支付密钥 签名 sign 是 C380BEC2BFD727A4B6845133519F3AD6 String(32) 上面的内容的一个综合的加密结果 2.还需要支付时使用的证书 3.签名的规则 意思就是将上述的除了支付秘钥和签名的9-10项(因为收款用户姓名是根据验证选项而决定是否需要的) 按照ASCII的从小到大排序之后的字符串 例如:$str = "amount=100&check_name=NO_CHECK&desc=奖金啊,提现成功啊 退款成功啊什么的&mch_appid=wx8888888888888888&mchid=1900000109&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&openid=oxTWIuGaIt6gTKsQRLau2M0yL16E&partner_trade_no=10000098201411111234567890&spbill_create_ip=192.168.0.1"; 然后我们就要将这些参数填充到xml格式的字符串中去了 4.开始撸码吧 上面的代码我是在thinkphp3.2框架里面写的,所以方法之间的调用用的是$this->XXX(); 其他的框架或原生的php可以进行修改方法调用方式即可下一篇:
Mongodb分片集群的部署及操作