该系列接口,支持微信v2
、v3
版本切换。
$obj = new \wechat\Wechat();
$_this = $obj->pay()->v2()->order();
除了在配置文件中设置默认SSL证书地址外,SDK还支持挑起一键下单时,调用ssl_cert()
、ssl_key()
方法进行设置。
$obj = new \wechat\Wechat();
// 手动设置SSL证书地址(需要绝对路径)
$_this = $obj->pay()->v2()->order()->ssl_cert(ROOT_PATH.'wechat/ssl_cert.pem')->ssl_key(ROOT_PATH.'wechat/ssl_key.pem');
注意:该方法不需要SSL证书支持。
方法名:query()
参数:
string $transaction_id
null
string $out_trade_no
null
使用示例:
$obj = new \wechat\Wechat();
$array = $obj->pay()->v2()->order()->query(false, 'ts000000007');
返回值示例:
array(12) {
["return_code"] => string(7) "SUCCESS"
["return_msg"] => string(2) "OK"
["result_code"] => string(7) "SUCCESS"
["mch_id"] => string(10) "15*****761"
["appid"] => string(18) "wxa42*******815"
["device_info"] => array(0) {
}
["trade_state"] => string(6) "NOTPAY"
["total_fee"] => string(1) "1"
["out_trade_no"] => string(11) "ts000000007"
["trade_state_desc"] => string(15) "订单未支付"
["nonce_str"] => string(16) "0T92qaytRy6858Ik"
["sign"] => string(32) "535BD5AA*****05B3C61106C"
}
提示:该方法请求成功返回array
,失败返回微信的MSG
信息。
注意:该方法不需要SSL证书支持。
方法名:close()
参数:
string $out_trade_no
使用示例:
$obj = new \wechat\Wechat();
$res = $obj->pay()->v2()->order()->close(false, 'ts000000007');
提示:关闭成功返回true
,失败返回微信的MSG
信息。
注意:该方法需要SSL证书支持。
方法名:reverse()
参数:
string $transaction_id
null
string $out_trade_no
null
使用示例:
$obj = new \wechat\Wechat();
$array = $obj->pay()->v2()->order()
->ssl_cert(ROOT_PATH.'extend/apiclient_cert.pem')
->ssl_key(ROOT_PATH.'extend/apiclient_key.pem')
->reverse(false, 'ts000000007');
提示:该方法请求成功返回array
字段参考微信的文档,失败返回微信的MSG
信息。
注意:该方法需要SSL证书支持。
方法名:refund()
参数:
string $out_refund_no
float $total_fee
float $refund_fee
string $out_trade_no
null
string $transaction_id
null
array $more
array_merge()
到一起提交[]
使用示例:
$obj = new \wechat\Wechat();
$order_sn = 'ts000000009';
$array = $obj->pay()->v2()->order()
->ssl_cert(ROOT_PATH.'extend/apiclient_cert.pem')
->ssl_key(ROOT_PATH.'extend/apiclient_key.pem')
->refund('rf0000001',0.01, 0.01, $order_sn);
返回值示例:
array(18) {
["return_code"] => string(7) "SUCCESS"
["return_msg"] => string(2) "OK"
["appid"] => string(18) "wx1c**********979"
["mch_id"] => string(10) "15********1"
["nonce_str"] => string(16) "UHwPHv7mS2PCqfkP"
["sign"] => string(32) "F617370EE8B92*****5F9D9F2E43886C"
["result_code"] => string(7) "SUCCESS"
["transaction_id"] => string(28) "4200001*****96721657"
["out_trade_no"] => string(11) "ts000000009"
["out_refund_no"] => string(9) "rf0000001"
["refund_id"] => string(29) "50302201012*****7684882415"
["refund_channel"] => array(0) {
}
["refund_fee"] => string(1) "1"
["coupon_refund_fee"] => string(1) "0"
["total_fee"] => string(1) "1"
["cash_fee"] => string(1) "1"
["coupon_refund_count"] => string(1) "0"
["cash_refund_fee"] => string(1) "1"
}
提示:该方法请求成功返回array
字段参考微信的文档,失败返回微信的MSG
信息。
注意:该方法不需要SSL证书支持。
方法名:refund_query()
参数:
string $out_refund_no
null
string $out_trade_no
null
string $transaction_id
null
string $refund_id
null
使用示例:
$obj = new \wechat\Wechat();
$array = $obj->pay()->v2()->order()->refund_query('rf0000001');
返回值示例:
array(21) {
["appid"] => string(18) "wx1*****979"
["cash_fee"] => string(1) "1"
["mch_id"] => string(10) "15*****1"
["nonce_str"] => string(16) "mlLmApE04STgyJKp"
["out_refund_no_0"] => string(9) "rf0000001"
["out_trade_no"] => string(11) "ts000000009"
["refund_account_0"] => string(28) "REFUND_SOURCE_RECHARGE_FUNDS"
["refund_channel_0"] => string(8) "ORIGINAL"
["refund_count"] => string(1) "1"
["refund_fee"] => string(1) "1"
["refund_fee_0"] => string(1) "1"
["refund_id_0"] => string(29) "503022010*****684882415"
["refund_recv_accout_0"] => string(18) "支付用户零钱"
["refund_status_0"] => string(7) "SUCCESS"
["refund_success_time_0"] => string(19) "2022-02-24 16:14:26"
["result_code"] => string(7) "SUCCESS"
["return_code"] => string(7) "SUCCESS"
["return_msg"] => string(2) "OK"
["sign"] => string(32) "3C4E52E290E36*****51B54BA3F7"
["total_fee"] => string(1) "1"
["transaction_id"] => string(28) "4200001*****245196721657"
}
提示:该方法请求成功返回array
字段参考微信的文档,失败返回微信的MSG
信息。