Files
mier-php/application/api/model/AdaPay.php

71 lines
3.5 KiB
PHP
Raw Permalink Normal View History

2025-08-11 10:22:05 +08:00
<?php
namespace app\api\model;
use think\facade\Env;
class AdaPay
{
private $config_object = [
"api_key_live" => "api_live_e6e24c8d-c257-4dd7-856c-3d82f475820b",
"rsa_private_key" => "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAN+4r227xPKzSWRaaDRZmVdANi/0y6kuPs/x6r9JmOaOL8T3PRLnSLLPZiKQYIPxyxsdnvxWn4tA7R6SndfQtOHxpMcefLanwDnCGDDIYEHKk8laSN6UmqFhF8xY50uIf73EdGQ7P1RmjyeSqjtakzjHM9nIM24I+8Rxyr1i67yjAgMBAAECgYEAodXHkWmzHp3zCVUc7EGkWyloCWjbqpZ5eZNWbOmgYaeZhrISzAni3PaKu5YVO109v2++AmvnHaTp4qPM6sFfFngmbp0ztsGmomoNFP9z+ruGlHbK8iWt8PlrfrgttAoIi7PrAbz+9fkbI4mPs149ECV+RHlU+EjkWh9bwqL9/wECQQD8tUEYm4ILvy8CJ67i/sE1MV8Nwjkbxy+ayY7h0mUBgo02e5W0CZYmyq4KUyshqjsOLVXcuefH9OkP7D0TkToJAkEA4qLDx1B3R8d6dbm8UgWxDlX5Tab/aO2WXjbIM7W1lW+jI34A2wNbR11VIhzY2gqyBgP0tz0fc2pfSx1NbYDcSwJBAPPBJgRFY+BOzlomyvObxeO4Nra/xHQ94nZMuyyp09HsCqgl9xXNNW8/izbcWDtFx2b6Zdrd22utme1I8vTf3XkCQHAeochrEHecQgMXvgi99BfphIpcAaNBVtCJPYYHcSvarNSUM4wmHvQxQjq8FrPX8rZzIo+8V2Db0QTyHCn+Q/0CQDdNUVfKNrcDBaAtNKW5GBzjXdVYbb4g6vOZ8FT/G8C4kwXsQlwtl61N1ZpQhao9vml6UJEP72hMU8XLMyEFRv4=",
"rsa_public_key" => "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwN6xgd6Ad8v2hIIsQVnbt8a3JituR8o4Tc3B5WlcFR55bz4OMqrG/356Ur3cPbc2Fe8ArNd/0gZbC9q56Eb16JTkVNA/fye4SXznWxdyBPR7+guuJZHc/VW2fKH2lfZ2P3Tt0QkKZZoawYOGSMdIvO+WqK44updyax0ikK6JlNQIDAQAB"
];
private $app_id = 'app_260e8610-8ee2-498a-8fec-66fa866bb072';
public function create_order($order_sn, $amount, $uid)
{
require_once Env::get('root_path') . 'extend/adapay_sdk_php_v1.4.4/AdapaySdk/init.php';
\AdaPay\AdaPay::init($this->config_object, "live", true);
$payment = new \AdaPaySdk\Payment();
$payment_params = array(
'app_id'=> $this->app_id,
// 'app_id'=> 'app_f7841d17-8d4e-469f-82da-1c3f43c3e470',
'order_no'=> $order_sn,
'pay_channel'=> 'alipay',
//'time_expire'=> date("YmdHis", time()+86400),
'pay_amt'=> bcdiv(bcmul($amount, 100, 2), 100, 2),
'goods_title'=> '狸猫支付',
'goods_desc'=> '狸猫支付',
'description'=> 'description',
'device_info'=> ['device_p'=>"111.121.9.10"],
'notify_url' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/api/pay_notify/ada_ali_pay_notify'
);
//延迟分账
// if($uid==217072){
$payment_params['pay_mode'] = 'delay';
// }
# 发起支付
$payment->create($payment_params);
# 对支付结果进行处理
if ($payment->isError()){
//失败处理
return ['code' => 201, 'msg' => '支付失败', 'data' => null];
} else {
//成功处理
return ['code' => 200, 'msg' => '支付成功', 'data' => ['pay_info' => $payment->result['expend']['pay_info']],'result'=>$payment->result];
}
}
public function verify_sign($post_data_str, $post_sign_str)
{
require_once Env::get('root_path') . 'extend/adapay_sdk_php_v1.4.4/AdapaySdk/init.php';
\AdaPay\AdaPay::init($this->config_object, "live", true);
$adapay_tools = new \AdaPaySdk\AdapayTools();
$sign_flag = $adapay_tools->verifySign($post_data_str, $post_sign_str);
if ($sign_flag){
return ['code' => 200, 'msg' => '验签成功', 'data' => null];
# 业务方自己的逻辑
}else{
return ['code' => 201, 'msg' => '验签失败', 'data' => null];
# 业务方自己的逻辑
}
}
}