以下是一个简单的 PHP 支付接口示例,使用了支付宝的即时到账接口(即时到账是一种支付方式,用户支付后,商家可以立即收到款项):

<?php
// 支付宝即时到账接口
// 参考文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.1Vc2M6&treeId=60&articleId=103748&docType=1

// 以下参数需要根据实际情况进行修改
$partner = '2088xxxxxxxxxxxx'; // 合作身份者ID
$private_key_path = '私钥文件路径'; // 商户的私钥文件路径
$ali_public_key_path = '支付宝公钥文件路径'; // 支付宝公钥文件路径
$notify_url = 'http://www.example.com/notify.php'; // 通知回调地址
$return_url = 'http://www.example.com/return.php'; // 支付完成后跳转的页面地址

// 构造订单信息
$out_trade_no = '123456789'; // 商户订单号
$subject = '测试商品'; // 商品名称
$total_fee = 0.01; // 订单金额,单位为元,最小值为0.01

$parameter = array(
    'service' => 'create_direct_pay_by_user', // 接口名称,固定值
    'partner' => $partner,
    'payment_type' => '1', // 支付类型,固定值
    'notify_url' => $notify_url,
    'return_url' => $return_url,
    'seller_email' => 'seller@example.com', // 卖家支付宝账号
    'out_trade_no' => $out_trade_no,
    'subject' => $subject,
    'total_fee' => $total_fee,
    'body' => '',
    'show_url' => '',
    'anti_phishing_key' => '',
    'exter_invoke_ip' => '',
    '_input_charset' => 'UTF-8',
);

// 生成签名
ksort($parameter);
$sign_str = '';
foreach ($parameter as $key => $value) {
    $sign_str .= $key . '=' . $value . '&';
}
$sign_str = rtrim($sign_str, '&');
$sign = rsaSign($sign_str, $private_key_path);

// 添加签名到请求参数中
$parameter['sign'] = $sign;
$parameter['sign_type'] = 'RSA';

// 发送请求
$url = 'https://mapi.alipay.com/gateway.do';
$html_text = buildRequestForm($parameter, $url);

// 输出支付页面
echo $html_text;

// 以下是一些辅助函数,用于生成签名和构造请求参数

// RSA签名
function rsaSign($data, $private_key_path) {
    $priKey = file_get_contents($private_key_path);
    $res = openssl_get_privatekey($priKey);
    openssl_sign($data, $sign, $res);
    openssl_free_key($res);
    $sign = base64_encode($sign);
    return $sign;
}

// 构造请求参数
function buildRequestForm($params, $gateway_url) {
    $sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='" . $gateway_url . "' method='POST'>";
    foreach ($params as $key => $value) {
        $sHtml .= "<input type='hidden' name='" . $key . "' value='" . $value . "'/>";
    }
    $sHtml .= "</form>";
    $sHtml .= "<script>document.forms['alipaysubmit'].submit();</script>";
    return $sHtml;
}

以上代码只是一个简单的示例,实际使用时需要根据具体情况进行修改和完善。需要注意的是,支付接口涉及到金钱交易,安全性是非常重要的,务必要考虑各种可能的安全问题,并采取相应的措施进行保护

php编写支付接口

原文地址: https://www.cveoy.top/t/topic/g17f 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录