php - PayPal NVP API - 获取快速结账 token

标签 php curl paypal

我正在尝试获取 PayPal 的快速结账 token one time purchase integration .尝试发出 cURL 请求时出现此错误:

ACK=Failure&L_ERRORCODE0=81002&L_SHORTMESSAGE0=Unspecified%20Method&L_LONGMESSAGE0=Method%20Specified%20is%20not%20Supported&L_SEVERITYCODE0=Error1

这是我的代码

  <?php
if(!isset($_GET['id'])) {
    header("Location: index.php");
    exit();
}

//Get paypal express checkout token

$ch = curl_init("https://api-3t.sandbox.paypal.com/nvp");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "USER: seller-v3rm_api1.test.com",
        "PWD: <snip>",
        "SIGNATURE: <snip>",
        "METHOD: SetExpressCheckout",
        "VERSION: 93",
        "PAYMENTREQUEST_0_PAYMENTACTION: SALE",
        "PAYMENTREQUEST_0_AMT: 25",
        "PAYMENTREQUEST_0_CURRENCYCODE: USD",
        "RETURNURL: http://test/buy.php",
        "CANCELURL: http://test.com",
    ));
$token = curl_exec($ch);
echo $token;

我错过了什么吗?

最佳答案

您没有正确设置请求字符串。我真的建议看看这个 PayPal PHP SDK .

首先,它会消除您对此类代码的麻烦,因为它会为您处理所有事情。您需要做的就是打开它附带的 SetExpressCheckout.php 模板文件并填写参数,然后对您可能使用的其他调用进行相同的操作。

此外,如果您愿意,可以研究代码以了解它是如何处理 cURL 请求的。您需要构建一个实际的 NVP 字符串(即 &something=like&this=example)。这就是您通过 cURL 发送到 PayPal 的内容。

关于php - PayPal NVP API - 获取快速结账 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844131/

相关文章:

java - Android应用内支付实物商品,价格信息存储在哪里?

ruby - curl.perform 在多线程环境下抛出无效的容易处理错误

linux - curl tlsv1.2 选项不起作用

php - 以下网址 : curl couldn't resolve host 'GET'

paypal - 美国以外的网站支付专业版

python - 如何在 Django 中调试 PayPal IPN?

php - 在数据库中添加类别和子类别

php - 知道网站如何在其标题/网址中动态捕获谷歌搜索关键字吗?

php - 仅在 WooCommerce 中的特定日期销售某些产品

php - Laravel Envoyer 存储同步