laravel支付宝支付

<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use Yansongda\Pay\Pay;
use Yansongda\Pay\Log;

use Illuminate\Http\Request;

class ApiController extends Controller
{
    protected $config = [
        'app_id' => '2021000122606105',
        'notify_url' => 'http://81.68.244.9/notify',
        'return_url' => 'http://81.68.244.9/return',
        'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzQwRGJuMxF4SMkJ+X9M5n5+8mvwjfkVHU0XAWtvRnjzEuBzqE/a1OjxrQI/m6FxyhCfPIhDjSq0vJb/oLQS1ElVb1ccRY8bJTMmayHsWFdxYR3xTc8dHWboI+bduq56PQY7b9nOIhgNWcPdqDsnpjjsn4oVdMGHiUt6d9bS0NEouPEVgF0lY/gncvyaXBZ9C16R0dqJKwwHhGFyzNx7fHlO5uA5LlKZP1peSipei7Z9mVMT+E/nV7YdZTSoNUP5048lKYVQv1jSciEDd+6s/H0MScBPEjdZSp9j7n2b+rh4zUFM7Pbax9Xc0rMUEMOaJluZDLFYOLXcBTFfkhhQOyQIDAQAB',
        // 加密方式: **RSA2**
        'private_key' => 'MIIEpQIBAAKCAQEAzQwRGJuMxF4SMkJ+X9M5n5+8mvwjfkVHU0XAWtvRnjzEuBzqE/a1OjxrQI/m6FxyhCfPIhDjSq0vJb/oLQS1ElVb1ccRY8bJTMmayHsWFdxYR3xTc8dHWboI+bduq56PQY7b9nOIhgNWcPdqDsnpjjsn4oVdMGHiUt6d9bS0NEouPEVgF0lY/gncvyaXBZ9C16R0dqJKwwHhGFyzNx7fHlO5uA5LlKZP1peSipei7Z9mVMT+E/nV7YdZTSoNUP5048lKYVQv1jSciEDd+6s/H0MScBPEjdZSp9j7n2b+rh4zUFM7Pbax9Xc0rMUEMOaJluZDLFYOLXcBTFfkhhQOyQIDAQABAoIBAQCVTXwFVv4g3f6R6ijqzXrf6AgFMiMGBpvw3pE5l2YCumzjQuqOrs03IldWI3IXL3mTEQmZ3IIkFgaGjj4YyZyvRMgh2VmoNU7OQt4ZrMZgFJmTM8vwOeKSSwvOCOrkvAfDzKoNwgJe0n9WslDfg9Y0Yo6gOkuotx19CewqxPGSQELtZvM9aYyU3KG4agypDYeOZJP/AioUvZA7D+1enfc/gIrwRXKZAG1Xu8Y6ByeoTbaz2B5wsU8Sunpg7EXM/rkBaf03ZWmPTL54VMGaOXoHNy1h/L1fAy6GpN8rA8k+P1vXQD/bpyEdCwA+I4+VPXaCmAIFbrHTgaCH8tTSuzQBAoGBAPaGdVc/1M7pSzteSWwJi7N3K3hgZOjZKY+me2mtO1cRPlD+Bb6hplZ2zAMB+OA44zuSobXn+zQZHcHoZvgC5efWQqCFqepEkQGZDLAUpo5/IIMctgbavKhyOmVWURfn4HXgPo2494cWFwOe2xMkqCXxCty4QzDc0fLRWPSYftWxAoGBANTtgkP1NsVmn7Hf1c1HujQdPgv9ZpOz/G13X2AI8rxLcXP3chFxPts+3y9IWDIqFZGJR3Les9Q8TmXDZruPDEmWKGHV/GjoQTVdka9jdg3LboqOPKfKs58VitBlTyFCZZlEJ5vm0Uu5gDjm7L5QzEuzK1RxJsgwI1b1doV2ydiZAoGAJapDcVIqVHambOqp8xy+QGw7swefQ0gypmT8RBgYkePrjnpRLGAMRvedkfQSL0fhx+9OT7mi0sHnnwHAAbKHp9U/lsD1Rfq14PWeT6TIEctwjzeqw/9VhbL2Ixd+ClX+IGRjikmxX+1LFN2HgTQ/kJR0YWaxtVx3o07C9ZP7BPECgYEApb8IYuwTqY/cCbNKk5QdDwogTWcAnUNC4NdGZ9QvV4GGnBXnNkqn+jSzuPOgq9P0nCh3dKSE6VXUVQTJCIEuuG1pm9bdt6/raqYejJ9ouw47SyGzd42jSteTCeuCsEomGitihcoj68VHWYPwj6kHjnm25fF6leRa7gr/Kp8wOikCgYEArexWYGyRyXn+mOcERNyv2o4wsthXeYnb0MVlLZDB1cTVMJWgBpZ2mTbWiSfmVVNX+ahWeBccSSRR1qoLfxL2EUl2p97fDiMf5NXptfZr7BynKWrEKvhEhcXOlWtaPRv2CKIh5//5KpB7riCvcNqVdER+bJc9CuWdf3FlKzYow8Q=',

//        'log' => [ // optional
//            'file' => '/logs/alipay.log',
//            'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
//            'type' => 'single', // optional, 可选 daily.
//            'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
//        ],
        'http' => [ // optional
            'timeout' => 5.0,
            'connect_timeout' => 5.0,
            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
        ],
        'mode' => 'dev', // optional,设置此参数,将进入沙箱模式
    ];

    //退款
    protected $configApi = [
        'app_id' => '2021000122606105',
        'notify_url' => 'http://81.68.244.9/notify',
        'return_url' => 'http://81.68.244.9/return',
        'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYlsbkFD9UeujiMRQMqvnsqr/dchpdzdcIXhAPNAjbVZogEpXnkopC84MIZ2JJqTpsVk0XlHd6wB0521aebk5/UeuDpNwHd0WYBj7zezZSoXc7LTgjZQhW07AB+atnkB/e2qeyHDA6mB6w2yDjAcPib7d3vB67clsZqFrkmG6KCymwmxAg3d5dnbF+O5r2Ul02wKL06ucNgTqsj69mBq+QHzFZ5rIaMxliSK3yDSsYyx8/cfeh7mRQ4Epd4XWBxyhZfhZJBdb85ikXd3n41LWS0qsfvMUDcTjdgqX64i6E6Em3HBd/8dulAWOs4L9tkQbh5YVVq7RqQRL65FgY0S1QIDAQAB',
        // 加密方式: **RSA2**
        'private_key' => 'MIIEpQIBAAKCAQEAzQwRGJuMxF4SMkJ+X9M5n5+8mvwjfkVHU0XAWtvRnjzEuBzqE/a1OjxrQI/m6FxyhCfPIhDjSq0vJb/oLQS1ElVb1ccRY8bJTMmayHsWFdxYR3xTc8dHWboI+bduq56PQY7b9nOIhgNWcPdqDsnpjjsn4oVdMGHiUt6d9bS0NEouPEVgF0lY/gncvyaXBZ9C16R0dqJKwwHhGFyzNx7fHlO5uA5LlKZP1peSipei7Z9mVMT+E/nV7YdZTSoNUP5048lKYVQv1jSciEDd+6s/H0MScBPEjdZSp9j7n2b+rh4zUFM7Pbax9Xc0rMUEMOaJluZDLFYOLXcBTFfkhhQOyQIDAQABAoIBAQCVTXwFVv4g3f6R6ijqzXrf6AgFMiMGBpvw3pE5l2YCumzjQuqOrs03IldWI3IXL3mTEQmZ3IIkFgaGjj4YyZyvRMgh2VmoNU7OQt4ZrMZgFJmTM8vwOeKSSwvOCOrkvAfDzKoNwgJe0n9WslDfg9Y0Yo6gOkuotx19CewqxPGSQELtZvM9aYyU3KG4agypDYeOZJP/AioUvZA7D+1enfc/gIrwRXKZAG1Xu8Y6ByeoTbaz2B5wsU8Sunpg7EXM/rkBaf03ZWmPTL54VMGaOXoHNy1h/L1fAy6GpN8rA8k+P1vXQD/bpyEdCwA+I4+VPXaCmAIFbrHTgaCH8tTSuzQBAoGBAPaGdVc/1M7pSzteSWwJi7N3K3hgZOjZKY+me2mtO1cRPlD+Bb6hplZ2zAMB+OA44zuSobXn+zQZHcHoZvgC5efWQqCFqepEkQGZDLAUpo5/IIMctgbavKhyOmVWURfn4HXgPo2494cWFwOe2xMkqCXxCty4QzDc0fLRWPSYftWxAoGBANTtgkP1NsVmn7Hf1c1HujQdPgv9ZpOz/G13X2AI8rxLcXP3chFxPts+3y9IWDIqFZGJR3Les9Q8TmXDZruPDEmWKGHV/GjoQTVdka9jdg3LboqOPKfKs58VitBlTyFCZZlEJ5vm0Uu5gDjm7L5QzEuzK1RxJsgwI1b1doV2ydiZAoGAJapDcVIqVHambOqp8xy+QGw7swefQ0gypmT8RBgYkePrjnpRLGAMRvedkfQSL0fhx+9OT7mi0sHnnwHAAbKHp9U/lsD1Rfq14PWeT6TIEctwjzeqw/9VhbL2Ixd+ClX+IGRjikmxX+1LFN2HgTQ/kJR0YWaxtVx3o07C9ZP7BPECgYEApb8IYuwTqY/cCbNKk5QdDwogTWcAnUNC4NdGZ9QvV4GGnBXnNkqn+jSzuPOgq9P0nCh3dKSE6VXUVQTJCIEuuG1pm9bdt6/raqYejJ9ouw47SyGzd42jSteTCeuCsEomGitihcoj68VHWYPwj6kHjnm25fF6leRa7gr/Kp8wOikCgYEArexWYGyRyXn+mOcERNyv2o4wsthXeYnb0MVlLZDB1cTVMJWgBpZ2mTbWiSfmVVNX+ahWeBccSSRR1qoLfxL2EUl2p97fDiMf5NXptfZr7BynKWrEKvhEhcXOlWtaPRv2CKIh5//5KpB7riCvcNqVdER+bJc9CuWdf3FlKzYow8Q=',

        'http' => [ // optional
            'timeout' => 5.0,
            'connect_timeout' => 5.0,
            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
        ],
        'mode' => 'dev', // optional,设置此参数,将进入沙箱模式
    ];
    public function index(Request $request)
    {
//        $ordrNo = $request->get('order_no');
//        $orderInfo = DB::table('order_form')
//            ->where('order_no',$ordrNo)
//            ->first();
//        print_r($ordrNo,$orderInfo);die();
        $order = [
            'out_trade_no' => 6529,
            'total_amount' => 100,
            'subject' => 'Wsg',
        ];

//        print_r($order);die();
        $alipay = Pay::alipay($this->config)->web($order);

        return $alipay;// laravel 框架中请直接 `return $alipay`
    }

    public function return()
    {
        return '支付成功';
    }

    public function notify(Request $request)
    {
        $params = $request->all();
        Cache::put('a',$params);
        DB::beginTransaction();
        try {

            $currentTime = date('Y-m-d H:i:s',time());

            if ($params['trade_status'] == 'TRADE_SUCCESS'){
                Cache::put('b','b');
                DB::table('order_form')
                    ->where('order_no',$params['out_trade_no'])
                    ->update([
                        'trade_no' => $params['trade_no'],
                        'status' => 4,
                        'pay_method' => 1,
                        'updated_at' => $currentTime
                    ]);
                Cache::put('F','F');
                DB::commit();
                echo "success";
            }

        }catch (\Exception $e){
            DB::rollBack();
            Log::info($e->getMessage());
        }
    }
    /*
     * 售后接口
     */
    public function redund(Request $request)
    {

        $order = [
            'out_trade_no' => '6529',
            'refund_amount' => '100',
        ];
        try {
            $alipay = Pay::alipay($this->configApi);
            $result = $alipay->refund($order);
            DB::table('order_form')
                ->where('order_no',$result['out_trade_no'])
                ->update([
                    'status' => 7,
                ]);


            $parans = [

                "touser" => "o8dsz5wUSEWv9Y7ae0XO0-AR0rA0",
                "template_id" => "wvnbRtn8K_NyZYRGC9ZsDwSfL2ycP2D9DI48jqZy7n8",
                "topcolor" => "#FF0000",
                "data" => [
                    "order" => [
                        "value" => $result['out_trade_no'],
                        "color" => "#FFD700"
                    ],
                    "price" => [
                        "value" => $result['refund_fee'],
                        "color" => "#7CFC00"
                    ],
                ]

            ];
            //推送模板消息
            (new WecheckController())->Push_master($parans);
            return response()->json([
                'code' => 200,
                'msg' => '退款成功'
            ]);
        }catch (\Exception $e){
            Log::info($e->getMessage());
        }

    }
    
}

https://pay.yansongda.cn/docs/v2/installation.html 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值