laravel 基于EsayWeChat的微信开发

配置

$config = [

        'app_id'       => env('WECHAT_APP_ID'),

        'mch_id'      => env('WECHAT_PAYMENT_MERCHANT_ID'),

        'key'            => env('WECHAT_PAYMENT_KEY'),  // API 密钥

];

微信支付

$attributes = [

            'trade_type' => 'NATIVE', // JSAPI,NATIVE,APP...

            'body' => '支付订单',

            'detail' => '支付订单',

            'out_trade_no' => '121775250120140703323336',//商户系统内部订单号(自己生成的)

            'total_fee' => 1, // 单位:分

            'notify_url' => $notify_url,//支付完成回调

            'product_id' => 0,

//            'openid' => 'oICyY57**********i44HGxjPc', // trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识,

        ];

$result = $app->order->unify($attributes);

if($result['return_code'] == 'SUCCESS'){

     return $result;

}else{

    \Log::error('微信支付签名失败:'.var_export($result,1));

    return $result['return_msg'];

}

支付成功的回调 $notify_url

$app = Factory::payment($this->config);

$response = $app->handlePaidNotify(function ($notify, $fail) {

    $out_trade_no = $notify['out_trade_no']; // 商户订单号

    $wechat_trade_no = $notify['transaction_id'];

    if ($notify['return_code'] === 'SUCCESS') { // return_code 表示通信状态,不代表支付状态

        // 用户是否支付成功

        if ($notify['result_code'] === 'SUCCESS') {

//回调信息

            }

}

微信支付退款

参数分别为:商户订单号、商户退款单号、订单金额、退款金额、其他参数

$result = $app->refund->byOutTradeNumber( $ordertradeno->out_trade_no, $refundNumber, $totalFee, $refundFee, $config = []);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容