zwxhenu / easy-payment
集成三方支付类库(微信,百支付宝,百度钱包)
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 29
Watchers: 2
Forks: 5
Open Issues: 0
Type:project
Requires
- php: >=5.6.27
- simplesoftwareio/simple-qrcode: ^1.4
This package is auto-updated.
Last update: 2024-10-18 14:56:18 UTC
README
参考文档[支付文档]
环境要求
- php版本:>=5.6
安装
composer require zwxhenu/easy-payment
当前支持功能
微信支付
支付宝
百度钱包
使用示例
支付宝示例
支付宝网页支付
use EasyPayment\payment\alipayService; /*********支付宝*************/ $pay = new AlipayService(); #-----公共参数配置------# $pay->setPartner(''); //合作商户 $pay->setInputCharset('utf-8'); // 参数编码字符集 默认utf-8 $pay->setSignType('MD5'); // 签名方式默认 MD5 $pay->setNotifyUrl(''); // 服务器异步通知页面路径 #-----公共参数配置结束-----# $pay->setSellerId(''); // 卖家支付宝用户号 $pay->setOrderSn('13354666'); // 商户网站唯一订单号 $pay->setPayMoney('0.01'); // 交易金额 $pay->setSubject('֧测试支付'); //商品名称 $pay->setBody('֧测试支付'); // 商品描述 $pay->setReturnUrl('http://www.baidu.com'); // 页面跳转同步通知页面路径 $pay->setTradeType(1); // 支付类型 $res = $pay->directPay();
支付宝支付查询
/*******支付宝查询******/ $trade_no = ''; $out_trade_no = ''; $pay->setKey('');// 合作商户支付秘钥 $pay->setSellerId('');// 合作商户ID $pay->setPartner('');// 合作商户 $pay->setOutTradeNo('');// 支付宝交易流水号 $pay->setOrderSn('');// 商户网站订单系统中唯一订单号 // $trade_no 支付宝交易流水号 $out_trade_no 商户网站订单系统中唯一订单号,必填 $query_res = $pay->queryOrder();
支付宝即时有密退款
/*******支付宝即时退款*****/ $pay->setSellerEmail('');// 卖家支付宝账号 $pay->setSellerId('');// 卖家用户ID $pay->setBatchOn('');// 退款批次号 格式为:退款日期(8位)+流水号(3~24位)。 $pay->setBatchNum(1);// 总笔数 最大支持1000笔 $pay->setDetailData(''); // 单笔数据集 例如:2014040311001004370000361525^5.00^协商退款 $refund_res = $pay->fastPayRefundByPlatformPwd();
微信支付示例
Native支付
use EasyPayment\payment\WxPayService; /**************微信二维码支付************/ /** * 微信公众号信息配置 * APPID:绑定支付的APPID(必须配置) * MCHID:商户号(必须配置) * KEY:商户支付密钥,参考开户邮件设置(必须配置) * APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置) **/ $wx_pay = new WxPayService(); #--------公共配置--------# // 商户号(必须配置) $wx_pay->setMchId(''); // 公众帐号secert(仅JSAPI支付的时候需要配置) $wx_pay->setAppSecret(''); // 绑定支付的APPID $wx_pay->setAppId(''); // KEY:商户支付密钥,参考开户邮件设置(必须配置) $wx_pay->setKey(''); #--------公共配置结束--------# $wx_pay->setOrderSn('12345689'); $wx_pay->setOutOrderNo('4567891'); $wx_pay->setPayMoney(0.01); $wx_pay->setSubject('测试二维码支付'); $wx_pay->setBody('测试二维码支付'); $wx_pay->setSuccessUrl('http://www.baidu.com'); $wx_pay->setErrorUrl('http://www.baidu.com'); $wx_pay->setTradeType(1); $res = $wx_pay->nativePay(); $qrcode = $res['data']; echo $_SERVER['HTTP_HOST'].'/'.$qrcode;
JSAPI支付
/**************微信支付************/ $wx_pay->setIsWap(true); $wx_pay->setOrderSn('123456789'); $wx_pay->setPayMoney(0.01); $wx_pay->setSubject('测试微信支付'); $wx_pay->setBody('测试微信支付'); $wx_pay->setSuccessUrl('http://www.baidu.com'); $wx_pay->setErrorUrl('http://www.baidu.com'); $res = $wx_pay->jsAPIPay('454645'); // 微信的openid
支付查询
/*************微信支付查询*************/ $wx_pay->setWxOrderId(''); //微信交易流水号 $wx_pay->setOutOrderNo(''); // 商户网站订单系统中唯一订单号,必填 $wx_pay_query_res = $wx_pay->queryOrder();
金额退款
/*******微信支付退款***/ $wx_pay->setWxOrderId(''); //微信交易流水号 $wx_pay->setOutOrderNo(''); // 商户网站订单系统中唯一订单号,必填 $wx_pay->setOutRefundNo(''); // 商户定义的退款订单编号 $wx_pay->setTotalFee(); // 标价金额 $wx_pay->setRefundFee(); // 退款金额 $wx_pay->setRefundDesc(); // 退款原因 $wx_pay->setRefundAccount(); // 退款资金来源 $wx_pay->setNotifyUrl(); // 退款结果通知url $wx_pay->refund();
退款结果查询
/*********微信退款结果查询*******/ $wx_pay->setWxOrderId(''); //微信交易流水号 $wx_pay->setOutOrderNo(''); // 商户网站订单系统中唯一订单号,必填 $wx_pay->setOutRefundNo(''); // 商户定义的退款订单编号 $wx_pay->setRefundId(''); // 微信退款订单号 ###以上四选一就可以查询#### $wx_pay->refundQuery();
微信现金红包示例
微信普通现金红包
use EasyPayment\payment\WxRedPackService; $wx_red_pack = new WxRedPackService(); /*******普通红包********/ // 随机字符串,不长于32位 $wx_red_pack->setNonceStr(''); // 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z) // 接口根据商户订单号支持重入,如出现超时可再调用。 $wx_red_pack->setMchBillNo(''); // 微信支付分配的商户号 $wx_red_pack->setMchId(''); // 微信分配的公众账号ID(企业号corpid即为此appId)。 // 在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口。 $wx_red_pack->setWxAppId(''); // 红包发送者名称 注意:敏感词会被转义成字符* $wx_red_pack->setSendName(''); // 接受红包的用户openid openid为用户在wxappid下的唯一标识 $wx_red_pack->setReOpenId(''); // 付款金额,单位分 $wx_red_pack->setTotalAmount(''); // 红包发放总人数 $wx_red_pack->setTotalNum(''); // 红包祝福语 $wx_red_pack->setWishing(''); // 调用接口的机器Ip地址 $wx_red_pack->setClientIp(''); // 活动名称 注意:敏感词会被转义成字符* $wx_red_pack->setActName(''); // 发放红包使用场景,红包金额大于200或者小于1元时必传 // //PRODUCT_1:商品促销 // //PRODUCT_2:抽奖 // //PRODUCT_3:虚拟物品兑奖 // //PRODUCT_4:企业内部福利 // //PRODUCT_5:渠道分润 // //PRODUCT_6:保险回馈 // //PRODUCT_7:彩票派奖 // //PRODUCT_8:税务刮奖 $wx_red_pack->setSceneId(''); //posttime:用户操作的时间戳 // //mobile:业务系统账号的手机号,国家代码-手机号。不需要+号 // //deviceid :mac 地址或者设备唯一标识 // //clientversion :用户操作的客户端版本 // //把值为非空的信息用key=value进行拼接,再进行urlencode // //urlencode(posttime=xx& mobile =xx&deviceid=xx) $wx_red_pack->setRiskInfo(''); $wx_red_pack->sendRedPack();
微信裂变红包
/******裂变红包*****/ $wx_fission_red_pack = new WxRedPackService(); // 随机字符串,不长于32位 $wx_fission_red_pack->setNonceStr(''); // 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z) // 接口根据商户订单号支持重入,如出现超时可再调用。 $wx_fission_red_pack->setMchBillNo(''); // 微信支付分配的商户号 $wx_fission_red_pack->setMchId(''); // 微信分配的公众账号ID(企业号corpid即为此appId)。 // 在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口。 $wx_fission_red_pack->setWxAppId(''); // 红包发送者名称 注意:敏感词会被转义成字符* $wx_fission_red_pack->setSendName(''); // 接受红包的用户openid openid为用户在wxappid下的唯一标识 $wx_fission_red_pack->setReOpenId(''); // 付款金额,单位分 $wx_fission_red_pack->setTotalAmount(''); // 红包发放总人数 $wx_fission_red_pack->setTotalNum(''); // 红包祝福语 $wx_fission_red_pack->setWishing(''); // 调用接口的机器Ip地址 $wx_fission_red_pack->setClientIp(''); // 活动名称 注意:敏感词会被转义成字符* $wx_fission_red_pack->setActName(''); $wx_fission_red_pack->sendFissionRedPack();
微信红包信息查询
/*****红包查询信息********/ $wx_query_red_pack = new WxRedPackService(); // 随机字符串,不长于32位 $wx_query_red_pack->setNonceStr(''); // 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z) // 接口根据商户订单号支持重入,如出现超时可再调用。 $wx_query_red_pack->setMchBillNo(''); // 微信支付分配的商户号 $wx_query_red_pack->setMchId(''); // 微信分配的公众账号ID(企业号corpid即为此appId)。 // 在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口。 $wx_query_red_pack->setWxAppId(''); // 红包订单类型(查询红包信息参数 当前只有个值:MCHT) // MCHT:通过商户订单号获取红包信息。 $wx_query_red_pack->setBillType(''); $wx_query_red_pack->queryRedPackInfo();
百度钱包示例
百度钱包网页版支付
use EasyPayment\payment\BdpayService; /**************百度钱包************/ $bd_pay = new BdpayService(); $bd_pay->setSpNo('9000100005'); // 合作商户ID $bd_pay->setSpKey('pSAw3bzfMKYAXML53dgQ3R4LsKp758Ss'); // 合作支付秘钥 $bd_pay->setOrderSn('123456789'); $bd_pay->setPayMoney('0.01'); $bd_pay->setSubject('֧测试支付'); $bd_pay->setBody('֧测试支付'); $bd_pay->setSuccessUrl('http://www.baidu.com'); $bd_pay->setErrorUrl('http://auto.news18a.com'); $bd_pay->setTradeType(1); $res = $bd_pay->directPay();
百度钱包支付查询
/**********百度钱包支付查询***********/ $bd_query_pay = new BdpayService(); $bd_query_pay->setSpNo('9000100005');// 合作商户ID $bd_query_pay->setSpKey('pSAw3bzfMKYAXML53dgQ3R4LsKp758Ss');// 合作商户的支付秘钥 // $out_trade_no 商户网站订单系统中唯一订单号,必填 $bd_query_res = $bd_query_pay->queryOrder($out_trade_no);
百度钱包退款
/**************百度钱包发起退款****************/ $bd_refund_pay = new BdpayService(); $bd_refund_pay->setSpNo('9000100005');// 合作商户ID $bd_refund_pay->setSpKey('pSAw3bzfMKYAXML53dgQ3R4LsKp758Ss');// 合作商户的支付秘钥 $bd_refund_pay->setSuccessUrl('www.baidu.com'); $bd_refund_pay->setErrorUrl('www.baidu.com'); $bd_refund_pay->setRefundType(2);// 退款类型 1 退回钱包余额 2 原路退回 $bd_refund_pay->setCashBackAmount(0.01); //退款金额 $bd_refund_pay->setCashBackTime(date('YmdHis')); // 退款请求时间 $order_sn = date("YmdHis"). sprintf ( '%06d', rand(0, 999999)); $bd_refund_pay->setOrderSn($order_sn);// 商户退款流水号 $refund_res = $bd_refund_pay->orderRefund();
百度钱包查询退款结果
/**************百度钱包查询退款结果***************/ $bd_query_refund_pay = new BdpayService(); $bd_query_refund_pay->setSpNo('9000100005'); $bd_query_refund_pay->setOrderSn('20140814173437256936'); // 百度钱包订单号 $bd_query_refund_pay->setOutTradeNo('2014081417354462'); // 百度钱包退款流水号 // 根据商户交易流水号查询 $order_sn_query_res = $bd_query_refund_pay->queryRefundByOrderOn(); // 根据退款流水号查询 $out_trade_no_res = $bd_query_refund_pay->queryRefundBySpRefundOn();