paypal支付v2.0(php)支付代码

第一步:获取access_token:

php 复制代码
<?php

$clientId = '';     // 替换为你的 PayPal Client ID
$clientSecret = ''; // 替换为你的 PayPal Client Secret

// PayPal API 请求的 URL
$url = "https://api-m.sandbox.paypal.com/v1/oauth2/token";

// 初始化 cURL
$ch = curl_init();

// 设置 cURL 请求的参数
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId . ":" . $clientSecret);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");

// 执行请求
$response = curl_exec($ch);

// 检查请求是否出错
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    // 打印响应结果
    echo $response;
}

// 关闭 cURL
curl_close($ch);

第二步:创建订单:

php 复制代码
<?php

$accessToken = ''; // 替换为你的访问令牌
$paypalRequestId = '7b92603e-77ed-4896-8e78-5dea2050476a'; // 替换为你的 PayPal 请求 ID

// API URL
$url = "https://api-m.sandbox.paypal.com/v2/checkout/orders";

// 创建订单的数据
$data = [
    "intent" => "CAPTURE",
    "purchase_units" => [
        [
            "reference_id" => "d9f80740-38f0-11e8-b467-0ed5f89f718b",
            "amount" => [
                "currency_code" => "USD",
                "value" => "1.00"
            ]
        ]
    ],
    "payment_source" => [
        "paypal" => [
            "experience_context" => [
                "return_url" => "https://example.com/returnUrl",
                "cancel_url" => "https://example.com/cancelUrl"
            ]
        ]
    ]
];

// 初始化 cURL
$ch = curl_init();

// 设置 cURL 参数
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'PayPal-Request-Id: ' . $paypalRequestId,
    'Authorization: Bearer ' . $accessToken,
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

// 执行请求并获取响应
$response = curl_exec($ch);

// 检查是否有错误
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    // 输出响应
    echo $response;
}

// 关闭 cURL
curl_close($ch);
相关推荐
阿里嘎多学长7 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
布吉岛的石头8 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
JaguarJack8 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php·服务端
小羊没烦恼!8 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
BingoGo8 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php
quantdash_cc9 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
芝麻别开门10 小时前
gst-shark安卓编译使用方法
android·gstreamer·gst-shark
昂好的day10 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
努力实干11 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
NetX行者12 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言