微信支付,微信退款,阿里支付

github里的大神写的 sdk

https://github.com/zoujingli/WeChatDeveloper

微信支付

微信支付基础参数

  $config = [
            'token'          => 'test',
            'appid'          => $this->appid,
            'appsecret'      => $this->secret,
            'encodingaeskey' => '',
            // 配置商户支付参数(可选,在使用支付功能时需要)
            'mch_id'         => $this->mch_id,
            'mch_key'        => $this->key,
            // 配置商户支付双向证书目录(可选,在使用退款|打款|红包时需要)
            'ssl_key'        => './public/cert/apiclient_key.pem',
            'ssl_cer'        => './public/cert/apiclient_cert.pem',
            // 缓存目录配置(可选,需拥有读写权限)
            'cache_path'     => './runtime',
        ];

微信支付

  // 创建接口实例
  $wechat = new \WeChat\Pay($config);
  
  // 组装参数,可以参考官方商户文档
  $options = [
      'body'             => '测试商品',
      'out_trade_no'     => time(),
      'total_fee'        => '1',
      'openid'           => 'o38gpszoJoC9oJYz3UHHf6bEp0Lo',
  //JSAPI--JSAPI支付(或小程序支付)、NATIVE--Native支付、APP--app支付,MWEB--H5支付
      'trade_type'       => 'JSAPI',
      'notify_url'       => 'http://a.com/text.html',
      'spbill_create_ip' => '127.0.0.1',
  ];
    
try {

    // 生成预支付码
    $result = $wechat->createOrder($options);
    
    // 创建JSAPI参数签名
    $options = $wechat->createParamsForJsApi($result['prepay_id']);
    
    // @todo 把 $options 传到前端用js发起支付就可以了
    
} catch (Exception $e) {

    // 出错啦,处理下吧
    echo $e->getMessage() . PHP_EOL;
    
}

退款参数


        // 创建接口实例
        $wechat = new \WePay\Refund($config);

        // 组装参数,可以参考官方商户文档
        $options = [
            'appid'         => $this->appid,
            'mch_id'        => $this->mch_id,
            'nonce_str'     => $nonce_str,
            'out_refund_no' => $out_refund_no,
            'refund_fee'    => $refund_fee,
            'total_fee'     => $total_fee,
            'transaction_id'=> $transaction_id,
        ];

        try {
            // 去退款
            $result = $wechat->create($options);
            if($result['result_code'] == 'SUCCESS') {
                //退款成功

            }
        } catch (\Exception $e) {
            // 出错啦,处理下吧
            echo $e->getMessage() . PHP_EOL;die;
        }

支付宝支付

支付参数配置(可用沙箱模式)

$config = [
    // 沙箱模式
    'debug'       => true,
    // 签名类型(RSA|RSA2)
    'sign_type'   => "RSA2",
    // 应用ID
    'appid'       => '2016090900468879',
    // 支付宝公钥文字内容 (1行填写,特别注意:这里是支付宝公钥,不是应用公钥,最好从开发者中心的网页上去复制)
    'public_key'  => 'MIIBIjANBgkqhkiG9...',
    // 支付宝私钥文字内容 (1行填写)
    'private_key' => 'MIIEvQIBADANBgkqh...',
    // 应用公钥证书完整内容(新版资金类接口转 app_cert_sn)
    'app_cert'    => '',
    // 支付宝根证书完整内容(新版资金类接口转 alipay_root_cert_sn)
    'root_cert'   => '',
    // 支付成功通知地址
    'notify_url'  => '',
    // 网页支付回跳地址
    'return_url'  => '',
];

支付宝发起PC网站支付

// 参考公共参数  https://docs.open.alipay.com/203/107090/
$config['notify_url'] = 'http://pay.thinkadmin.top/test/alipay-notify.php';
$config['return_url'] = 'http://pay.thinkadmin.top/test/alipay-success.php';

try {
    
    // 实例支付对象
    $pay = We::AliPayWeb($config);
    // $pay = new \AliPay\Web($config);
    
    // 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.page.pay
    $result = $pay->apply([
        'out_trade_no' => time(), // 商户订单号
        'total_amount' => '1',    // 支付金额
        'subject'      => '支付订单描述', // 支付订单描述
    ]);
    
    echo $result; // 直接输出HTML(提交表单跳转)
    
} catch (Exception $e) {

    // 异常处理
    echo $e->getMessage();
    
}

支付宝发起手机网站支付

// 参考公共参数  https://docs.open.alipay.com/203/107090/
$config['notify_url'] = 'http://pay.thinkadmin.top/test/alipay-notify.php';
$config['return_url'] = 'http://pay.thinkadmin.top/test/alipay-success.php';

try {

    // 实例支付对象
    $pay = We::AliPayWap($config);
    // $pay = new \AliPay\Wap($config);

    // 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.wap.pay
    $result = $pay->apply([
        'out_trade_no' => time(), // 商户订单号
        'total_amount' => '1',    // 支付金额
        'subject'      => '支付订单描述', // 支付订单描述
    ]);

    echo $result; // 直接输出HTML(提交表单跳转)

} catch (Exception $e) {

    // 异常处理
    echo $e->getMessage();

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值