支付宝网站支付php代码,PHP原生支付宝pc+wap在线支付演示源码
时间: 2023-06-17 19:07:14 浏览: 303
php 在线支付源代码
4星 · 用户满意度95%
以下是一个基本的支付宝网站支付的 PHP 代码示例(仅供参考):
```php
<?php
// 支付宝网关地址
$gatewayUrl = "https://openapi.alipay.com/gateway.do";
// 应用ID
$appId = "你的应用ID";
// 应用私钥
$rsaPrivateKey = "你的应用私钥";
// 支付宝公钥
$alipayPublicKey = "支付宝公钥";
// 商户订单号,需要保证不重复
$outTradeNo = uniqid();
// 订单标题
$subject = "测试订单";
// 订单金额,单位为元
$totalAmount = 0.01;
// 支付宝支付成功后的回调地址
$notifyUrl = "http://你的回调地址";
// 支付宝手机网站支付所需参数
$wapPayParams = array(
"app_id" => $appId,
"method" => "alipay.trade.wap.pay",
"format" => "JSON",
"charset" => "utf-8",
"sign_type" => "RSA2",
"timestamp" => date("Y-m-d H:i:s"),
"version" => "1.0",
"notify_url" => $notifyUrl,
"return_url" => $notifyUrl,
"biz_content" => json_encode(array(
"out_trade_no" => $outTradeNo,
"subject" => $subject,
"total_amount" => $totalAmount,
"product_code" => "QUICK_WAP_PAY"
))
);
// 生成签名
$sign = generateSign($wapPayParams, $rsaPrivateKey);
// 将签名添加到参数中
$wapPayParams["sign"] = $sign;
// 发起支付请求
header("Location: " . $gatewayUrl . "?" . http_build_query($wapPayParams));
exit;
/**
* 生成签名
*
* @param array $params 参数列表
* @param string $rsaPrivateKey 应用私钥
* @return string 签名
*/
function generateSign($params, $rsaPrivateKey)
{
ksort($params);
$stringToBeSigned = "";
foreach ($params as $k => $v) {
if (is_string($v) && "@" != substr($v, 0, 1)) {
$stringToBeSigned .= "$k=$v&";
}
}
$stringToBeSigned = rtrim($stringToBeSigned, "&");
$sign = '';
openssl_sign($stringToBeSigned, $sign, $rsaPrivateKey, OPENSSL_ALGO_SHA256);
$sign = base64_encode($sign);
return $sign;
}
```
此代码将生成一个包含必要参数的数组,并将其用于发起支付请求。您需要将 `$appId`, `$rsaPrivateKey`, `$alipayPublicKey` 和 `$notifyUrl` 替换为您自己的信息。
请注意,此代码仅适用于支付宝手机网站支付,如果您需要使用其他支付方式,请参考支付宝官方文档并进行相应的更改。
阅读全文