我是PayPal做任何事情的新手,这让我感到沮丧。我只是尝试使用沙盒企业帐户在此处创建链式付款:
$api = "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay";
$input = array(
"actionType" => "CREATE",
"currencyCode" => "USD",
"feesPayer" => "EACHRECEIVER",
"memo" => "TestNote",
"receiverList" => array(
"receiver" => array( //first goes to merchant(95% of payment)
"amount" => "95.00",
"email" => "rbxseller@gmail.com",
"primary" => true
),
"receiver" => array( //then sends 5% commission to owner of site
"amount" => "5.00",
"email" => "rbxowner@gmail.com",
"primary" => false
)
),
"requestEnvelope" => array(
"errorLanguage" => "en_US"
)
);
$headers = array(
"X-PAYPAL-SECURITY-USERID: ".USER_ID,
"X-PAYPAL-SECURITY-PASSWORD: ".USER_PASS,
"X-PAYPAL-SECURITY-SIGNATURE: ".USER_SIG,
"X-PAYPAL-REQUEST-DATA-FORMAT: NV",
"X-PAYPAL-RESPONSE-DATA-FORMAT: JSON",
"X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T"
);
$ch = curl_init($api);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($input));
$response = curl_exec($ch);
var_dump($response);
我收到错误响应:
[{"errorId":"580001","域":"PLATFORM","子域":"应用程序",">严重性":"错误","类别":"应用程序","消息":"无效请求:{0}"}]
感谢您抽出宝贵时间回复!
您将
无法简单地将数据数组提交到PayPal端点。 您需要为自适应支付构建一个 XML 请求。
我建议您查看我的 PayPal PHP 类库,它的工作方式与您在此处尝试的工作方式非常相似,只是它会获取您的数组数据,生成 XML 请求,将其发送到PayPal,解析 XML 结果并将数组返回给您。
它支持所有PayPal API,包括自适应支付,并带有功能齐全的示例以及用于启动新调用的现成模板文件。