【发布时间】:2016-09-26 13:28:27
【问题描述】:
我正在通过 DoDirectPayment 方法使用 Paypal 交易,我已经验证了我的 API 凭据大约 100 次;没有错。
Array (
[TIMESTAMP] => 0000-00-00T00:00:00Z
[CORRELATIONID] => 0000000000
[ACK] => Failure
[VERSION] => 56.0
[BUILD] => 000000
[L_ERRORCODE0] => 10759
[L_SHORTMESSAGE0] => Transaction cannot be processed.
[L_LONGMESSAGE0] => Please use a different payment card.
[L_SEVERITYCODE0] => Error
[AMT] => 0.50
[CURRENCYCODE] => USD
)
以上是我从贝宝收到的回复。
我从这里尝试了所有卡:https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm
我的代码:
$request = 'METHOD=DoDirectPayment';
$request .= '&VERSION=56.0';
$request .= '&USER='.$paypal_user;
$request .= '&PWD='.$paypal_pass;
$request .= '&SIGNATURE='.$paypal_sign;
$request .= '&CUSTREF=' . $post_id;
$request .= '&PAYMENTACTION=Authorization';
$request .= '&AMT='.$amount;
$request .= '&EXPDATE=' . $expmonth . $expyear;
$request .= '&CVV2=' . $ccv;
$request .= '&ACCT=' . $card_number;
$request .= '&CURRENCYCODE=USD';
$request .= '&IPADDRESS=' . urlencode($_SERVER['REMOTE_ADDR']);
$request .= '&CREDITCARDTYPE=' . $cardtype; // VISA AND ALL
$curl = curl_init($apiurl);
curl_setopt($curl, CURLOPT_PORT, 443);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FORBID_REUSE, 1);
curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
// Request to paypal
$response = curl_exec($curl);
请让我知道我在这里缺少什么。
【问题讨论】:
-
您是否将测试卡数据发送到 sandbox(相对于生产)endpoints?如果将 test 卡发送到生产环境,该错误指向 Paypal declining 卡......
-
我不明白你的意思?我正在使用沙盒帐户进行测试付款,并且在测试交易时收到此错误。