支付宝退款

 

官方文档 https://docs.open.alipay.com/api_1/alipay.trade.refund

把配置弄好 基本是直接成功了。

 

/**
    * 支付宝 退款
  * @user 一秋
   * @param $out_trade_no
    * @param $refund_amount
    * @return bool
    * @throws Exception
    */
   public static function AliPayPlaceRefund($out_trade_no,$refund_amount){
       $refund_order = generateOrderId(9);
       $aop = new \AopClient ();
       $aop->gatewayUrl =  config('alipay.gatewayUrl');
       $aop->appId = config('alipay.appId');
       $aop->rsaPrivateKey = config('alipay.rsaPrivateKey');
       $aop->alipayrsaPublicKey = config('alipay.alipayrsaPublicKey');
       $aop->apiVersion = '1.0';
       $aop->signType = 'RSA2';
       $aop->postCharset='utf-8';
       $aop->format='json';
       $request = new \AlipayTradeRefundRequest();
       $request->setBizContent("{" .
//            "\"trade_no\":\"2017112821001004030523090753\"," .
           "\"out_trade_no\":\"$out_trade_no\"," .
           "\"refund_amount\":$refund_amount," .
           "\"refund_reason\":\"正常退款\"," .
           "\"out_request_no\":\"$refund_order\"," .
           "\"operator_id\":\"OP001\"," .
           "\"store_id\":\"NJ_S_001\"," .
           "\"terminal_id\":\"NJ_T_001\"" .
           "  }");

       $result = $aop->execute ( $request );
       $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
       $resultCode = $result->$responseNode->code;

       if(!empty($resultCode)&&$resultCode == 10000){
//            echo "成功";
           return true;
       } else {
//            echo "失败";
           throw new Exception($result->$responseNode->sub_msg);
       }
   }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值