php关于支付宝、微信退款操作

“`//支付宝退款接口公共函数return_ali(贸易_没有){要求_一次( '../延伸/ alipaywap / config.php中'); require _ once('../延伸/ alipaywap / pagepay /服务/ AlipayTradeService.php'); require _ once('../延伸/ alipaywap / pagepay / buildermodel / AlipayTradeRefundContentBuilder.php'); //商户订单号,商户网站订单系统中唯一订单号// Ò ù ř 一个d ë Ñ ø = ř 中号 _ POST [ 'WIDTRout _ _贸易没有']); Ò ù ř 一个d Ø ü ŤŤ[R一个dËño o u t t r a d e n o , outtradeno=trim o u t t r a d e n o = t r i m ( out _ trade _ no; //支付宝交易号// $ Ø ü ŤŤ[R一个dËño = o u t t r a d e n o =

    trade_no = trim($ _ POST ['WIDTRtrade_no']); $ trade_no = $ trade _ no; //请二选一设置//需要退款的金额,该金额不能大于订单金额,必填$ refund _ amount ='0.01'; // $ refund_reason = trim($ _ POST ['WIDTRrefund_reason']); $ refund_reason ='测试'; //标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传// $ out_request_no = trim($ _ POST ['WIDTRout_request_no']); $ out_request_no ='TK'.time(); //构造参数$ RequestBuilder = new \ AlipayTradeRefundContentBuilder(); $ RequestBuilder-> setOutTradeNo($ out_trade_no); $ RequestBuilder-> setTradeNo($ trade_no); $ RequestBuilder-> setRefundAmount($ REFUND_AMOUNT); $ RequestBuilder-> setOutRequestNo($ out_request_no); $ RequestBuilder-> setRefundReason($ REFUND_REASON); $ aop = new \ AlipayTradeService($ config); 

RequestBuilder); 响应); // a = g e tØb je c tv[Rs a = g e t o b j e c t v a r s (

a = a r[R一个y a = a r r a y ( response); // print_r( 一个 ; a ) ; 返 回 a; } //订单退款public function return_order(){if(Request :: instance() - > isPost()){ m e m b e r= m e m b e r = this-> checklogin(); o rde re rÇ ħ 一个Ñ 小号一世d= Ñ p ù o rde re rÇ ħ 一个Ñ 小号一世d ; ˚F o r d e r m e r c h a n t s i d = i n p u t ( ′ o r d e r m e r c h a n t s i d ′ ) ; i f ( ! order 商人 id)错误(“请选择订单”); w ^ ^ h è [Re = [o rde re rÇ ħ 一个Ñ 小号一世d= > w h e r e = [ ′ o r d e r m e r c h a n t s i d ′ => order _ merchants _ id,//’member _ id’=> member[memberid]]; m e m b e r [ ′ m e m b e r i d ′ ] , ] ;

        order _ merchants = Db :: name('order _ merchants') - > where($ where) - > find(); if($ order _ merchants ['order _ state']!='wait_send'){error(“退款状态不符合,请选择售后服务”); } if(time() -  strtotime($ order _ merchants [ 'pay _ time' ])> $ this->









        } $ pay_charge = json_decode($ order _ merchants ['pay _ charge'],true); require_once“../延伸/ WX / LIB / WxPay.Api.php”; if(isset($ order_merchants [“ping_no”])&& $ order _ merchants [“ping _ no”]!=“”){$ transaction_id = $ order _商人[“ping _ no”]; $ total_fee ='1'; $ refund_fee ='1';










                    $ input = new \ WxPayRefund(); $输入 - > SetTransaction_id($ TRANSACTION_ID); $输入 - > SetTotal_fee($ total_fee); $输入 - > SetRefund_fee($ refund_fee); $输入 - > SetOut _ refund _ no(\ WxPayConfig :: MCHID.date(“YmdHis”)); $输入 - > SetOp_user_id(\ WxPayConfig :: MCHID); $ result = \ WxPayApi :: refund($ input); 的的的的print_r($结果); //出口(); } if($ result ['result_code'] =='SUCCESS'&& $ result ['return_code'] =='SUCCESS'){Db :: name('order _ merchants') - > where(['order _ merchants _ id'=> $ order _ merchants _ id]) - > update(['order _ state'=>'return']); $ order = Db :: name('order') - > if($ order ['coupon_ids'                             $ order_state = ['return',' 取消'];                             foreach($ order as $ v){

















                            if(in_array($ v,$ order_state)){ 
                                $ is_return ='1'; 
                            } else { 
                                $ is_return ='2'; 
                                打破; 
                            } 
                        } 
                        如果($ is_return == '1'){ 
                            DB ::名称( '构件_优惠券') - >其中([ 'ID'=> $顺序[ '优惠券_ IDS']]) - >更新([ '状态'=> '1']); 成功(“退款成功”); } else {error(“退款失败”); } // $ _ REQUEST [“out _ trade_no”] =“122531270220150304194108”; /// $ _ REQUEST [“total _ fee”] =“1”; // $ _ REQUEST [“refund _ fee”] =“1”; 

])&&“pay _ no” ]!=“”){ // Ø ü ŤŤ[R一个dËño = o u t t r a d e n o = order _ merchants [ “pay _ no” ] ; // totalfee=1;// t o t a l f e e = ′ 1 ′ ; / / input = new \ WxPayRefund(); // input>SetOuttradeno i n p u t − > S e t O u t t r a d e n o ( out _ trade _ no); // input>SetTotalfee i n p u t − > S e t T o t a l f e e ( total_fee); // input>SetRefundfee i n p u t − > S e t R e f u n d f e e ( refund_fee); // input>SetOutrefundno WxPayConfig::MCHID.dateYmdHis;// i n p u t − > S e t O u t r e f u n d n o (   W x P a y C o n f i g :: M C H I D . d a t e ( “ Y m d H i s ” ) ) ; / / input-> SetOp _ user _ id(\ WxPayConfig :: MCHID); // print_r(\ WxPayApi :: refund(input)); //出口(); //}休息案例'微信扫码':require_once“../ extend / wxpub / lib / WxPay.Api.php”; if(isset( input)); //出口(); //}休息案例'微信扫码':require_once“../ extend / wxpub / lib / WxPay.Api.php”; if(isset( order_merchants [“ping_no”])&& order_merchants [“ping_no”]!=“”){ order_merchants [“ping_no”]!=“”){ transaction_id = ordermerchants[pingno]; o r d e r m e r c h a n t s [ “ p i n g n o ” ] ; total_fee ='1'; refundfee=1; r e f u n d f e e = ′ 1 ′ ; input = new \ WxPayRefund(); >SetTransactionid 输 入 − > S e t T r a n s a c t i o n i d ( TRANSACTION_ID); >SetRefundfee 输 入 − > S e t R e f u n d f e e ( refund_fee); >SetOutrefundno WxPayConfig::MCHID.dateYmdHis; 输 入 − > S e t O u t r e f u n d n o (   W x P a y C o n f i g :: M C H I D . d a t e ( “ Y m d H i s ” ) ) ; 输入 - > SetOp_user_id(\ WxPayConfig :: MCHID); // print_r(\ WxPayApi :: refund($ input));

                    //出口(); 如果($结果['RESULT_CODE'] =='成功'&& $结果['值值return_code'] =='成功'){DB ::名称('order_merchants') - >其中(['order_merchants_id'=> $ order_merchants_id]) - > update(['order_state'=>'return']); $ order = Db :: name('order') - > where(['order_id'=> $ order_merchants ['order_id']]) - > find(); if($ order ['coupon_ids']){$ order = Db :: name('order_merchants') - > where(['order_id'=> $ order_merchants ['order_id']]) - > column('order_state') ;                             $ order_state = ['return','cancel']; $ is_return ='1'; } else {$ is_return ='2'; 打破; 如果($ is_return =='1'){DB ::名称('构件_优惠券') - > 其中(['ID'=> $顺序['优惠券_ IDS']]) - >更新(['状态'=>'1']); 成功(“退款成功”); } else {





















                    error(“退款失败”);                     打破;                 case'支付宝APP支付':                    $ result = $ this-> return_ali($ order_merchants ['pay_no'],$ order_merchants ['ping_no']);                     if($ result ['code'] =='10000'&& $ result ['msg'] =='Success'){                         Db :: name('order_merchants') - > where(['order_merchants_id'=> $ order_merchants_id ]) - > update(['order_state'=>'return']);                         $ order = Db :: name('order') - > where(['order_id'=> $ order_merchants ['的order_id']]) - >








                        $ order = Db :: name('order_merchants') - > where(['order_id'=> $ order_merchants ['order_id']]) - > column('order_state'); 
                        $ order_state = ['return','cancel']; 
                        foreach($ order as $ v){ 
                            if(in_array($ v,$ order_state)){ 
                                $ is_return ='1'; 
                            } else { 
                                $ is_return ='2'; 
                                打破; 
                            } 
                        } 
                        如果($ is_return == '1'){ 
                            DB ::名称( '构件_优惠券') - >其中([ 'ID'=> $顺序[ '优惠券_ IDS']]) - >更新(['状态'=>'1']);                         成功(“退款成功”);                         错误( “退款失败”);







            case'支付宝扫码支付':
                $ result = $ this-> return_ali($ order_merchants ['pay_no'],$ order_merchants ['ping_no']); 
                if($ result ['code'] =='10000'&& $ result ['msg'] =='Success'){ 
                    Db :: name('order_merchants') - > where(['order_merchants_id'=> $ order _商家_ id]) - >更新(['order _ state'=>'return']); $ order = Db :: name('order') - > where(['order_id'=> $ order _ merchants ['order _ id']]) - > find(); if($ order ['coupon_ids']){$ order = Db :: name('order_merchants') - > where(['order_id'=> $ order _商家['order _ id']]) - > column('order_state');                             foreach($ order as $ v){                                 if(in_array($ v,$ order_state)){






                                $is_return = '1';
                            } else {
                                $is_return = '2';
                                break;
                            }
                        }
                        if ($is_return == '1'){
                            Db::name('member_coupon')->where(['id'=>$order['coupon_IDS ']]) - >更新(['状态'=>' 1' ]); 
                        } 
                    } 
                    成功(“退款成功”); 
                } else { 
                    error(“退款失败”); 
                } 
                // print_r($ result);退出; 
                打破; 
            默认值:#code 
                ... 

打破; ““

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值