php实现付款代码
PHP 支付集成方法
集成支付功能通常需要对接第三方支付平台API。以下是常见支付方式的实现方法:
支付宝支付集成
准备支付宝开放平台账号并创建应用,获取APPID、商户私钥和支付宝公钥。引入官方SDK:

require_once 'alipay-sdk-PHP/aop/AopClient.php';
$alipay = new AopClient();
$alipay->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$alipay->appId = 'your_app_id';
$alipay->rsaPrivateKey = 'your_private_key';
$alipay->alipayrsaPublicKey = 'alipay_public_key';
$alipay->signType = 'RSA2';
$request = new AlipayTradePagePayRequest();
$request->setReturnUrl('https://your-site.com/return');
$request->setNotifyUrl('https://your-site.com/notify');
$request->setBizContent(json_encode([
'subject' => '订单标题',
'out_trade_no' => '商户订单号',
'total_amount' => '订单金额',
'product_code' => 'FAST_INSTANT_TRADE_PAY'
]));
$result = $alipay->pageExecute($request);
echo $result;
微信支付集成
微信支付需要配置商户号和API密钥:

require_once 'lib/WxPay.Api.php';
require_once 'WxPay.NativePay.php';
$notify = new NativePay();
$input = new WxPayUnifiedOrder();
$input->SetBody("商品描述");
$input->SetOut_trade_no("商户订单号");
$input->SetTotal_fee("金额(分)");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url("回调地址");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("商品ID");
$result = $notify->GetPayUrl($input);
$url = $result["code_url"];
PayPal支付集成
使用PayPal REST API需要Client ID和Secret:
require __DIR__ . '/vendor/autoload.php';
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'client_id',
'client_secret'
)
);
$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');
$amount = new \PayPal\Api\Amount();
$amount->setTotal('10.00');
$amount->setCurrency('USD');
$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);
$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl('https://your-site.com/success')
->setCancelUrl('https://your-site.com/cancel');
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions([$transaction])
->setRedirectUrls($redirectUrls);
try {
$payment->create($apiContext);
header('Location: ' . $payment->getApprovalLink());
} catch (\PayPal\Exception\PayPalConnectionException $ex) {
echo $ex->getData();
}
支付安全注意事项
验证支付回调的真实性,支付宝和微信都会发送签名参数。支付宝回调验证示例:
$alipay = new AopClient();
$alipay->alipayrsaPublicKey = '支付宝公钥';
$flag = $alipay->rsaCheckV1($_POST, NULL, "RSA2");
if($flag) {
// 验证通过处理业务逻辑
}
所有支付操作必须通过HTTPS协议传输,敏感数据如API密钥应当存储在环境变量或配置文件中,避免硬编码。定期检查支付日志,监控异常交易。






