我正在尝试获取 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/