版本支持

该系列接口,支持微信v2v3版本切换。

SDK

$obj = new \wechat\Wechat();
$_this  = $obj->pay()->v2()->order();

设置SSL证书

除了在配置文件中设置默认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信息。

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录