支付沙箱环境测试和验签

1:

2:sdk-php版

3:

public function test()   //支付方法
    {
        $arr=[
            'WIDout_trade_no'=>'20182000000000',
            'WIDsubject'=>'在线支付',
            'WIDtotal_amount'=>0.01,
            'WIDbody'=>'测试'
        ];
        session('order','00000012313213');
        $data = alipay($arr, 'http://dengpq.cn/pay', 'http://dengpq.cn/pay');
        dump($data);
        die;
    }

function alipay($post,$notify_url,$return_url){   //common中
        $config = Config('alipay');
        $arr=[
            'app_id'=>$config['app_id'],
            'merchant_private_key'=>$config['merchant_private_key'],
            'notify_url'=>$notify_url,
            'return_url'=>$return_url,
            'charset'=>$config['charset'],
            'sign_type'=>$config['sign_type'],
            'gatewayUrl'=>$config['gatewayUrl'],
            'alipay_public_key'=>$config['alipay_public_key']
        ];
        vendor('alipay.AlipayTradeService');
        vendor('alipay.AlipayTradePagePayContentBuilder');
        $out_trade_no = trim($post['WIDout_trade_no']);
        $subject = trim($post['WIDsubject']);
        $total_amount = trim($post['WIDtotal_amount']);
        $body = trim($post['WIDbody']);
        $payRequestBuilder = new \AlipayTradePagePayContentBuilder();
        $payRequestBuilder->setBody($body);
        $payRequestBuilder->setSubject($subject);
        $payRequestBuilder->setTotalAmount($total_amount);
        $payRequestBuilder->setOutTradeNo($out_trade_no);
        $aop = new \AlipayTradeService($arr);
        $response = $aop->pagePay($payRequestBuilder, $arr['return_url'], $arr['notify_url']);
        var_dump($response);
    }

'alipay' =>[    //config
        'app_id' => "app_id",
        //商户私钥
        'merchant_private_key' => "私钥",
        //编码格式
        'charset' => "UTF-8",
        //签名方式
        'sign_type'=>"RSA2",
        //支付宝网关
        'gatewayUrl' => "https://openapi.alipaydev.com/gateway.do",
        //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
        'alipay_public_key' => "公钥",
    ]

验签

$param = Request::instance()->param();
$gy = '支付宝公钥';  //不是生成的
$aop = new \AopClient();
$aop->alipayrsaPublicKey = $gy;
//此处验签方式必须与下单时的签名方式一致
 $flag = $aop->rsaCheckV1($param,$gy, "RSA2");

//$flag等于true签名一致   echo 'success';
      
    }

sdk地址https://gitee.com/dengpq/mail/tree/master/Thinkphp5%E6%94%AF%E4%BB%98%E5%AE%9Dsdk

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值