2012-04-21 3 views
6

Извините заранее, если это глупый вопрос. Я попытался копаться, но не смог найти ответа.Adaptive Payments PayPal - Ошибка 520009 - Аккаунт ограничен

Я пытаюсь настроить цепочку платежей (в среде песочницы), но я получаю ошибку 520009 (Учетная запись ограничена). Пробовал несколько адресов электронной почты, и все они дают мне эту ошибку. Адреса электронной почты не зарегистрированы в Paypal, но насколько я знаю, это не должно быть проблемой, так как модуль адаптивных платежей не требует, чтобы получатели имели счета Paypal заранее (хотя им нужны счета, чтобы фактически получить деньги , конечно).

Что я делаю неправильно? Я установил плательщика платы в EACHRECEIVER (как предложено на некоторых потоках), но ошибка остается.

Это то, что я получаю обратно: Код ошибки: 520009 Сообщение об ошибке: [email protected] счета ограничен

Вот мой код:

// Config 
$endpoint = trim("https://svcs.sandbox.paypal.com/AdaptivePayments/Pay"); 
$API_UserName = "MY_USERNAME_FROM_SANDBOX"; 
$API_Password = "MY_PASSWORD_FROM_SANDBOX"; 
$API_Signature = "MY_SIGNATURE_FROM_SANDBOX"; 
$API_AppID = "APP-80W284485P519543T";  
$API_RequestFormat = "NV"; 
$API_ResponseFormat = "NV"; 

    // Create request payload with minimum required parameters 
$bodyparams = array ( 
     "requestEnvelope.errorLanguage" => "en_US", 
     "actionType" => "PAY_PRIMARY", 
     "cancelUrl" => 'http://www.beta.com/cancel', 
     "returnUrl" => 'http://www.beta.com/return', 
     "currencyCode" => 'USD', 
     "feesPayer" => "EACHRECEIVER", 
     "actionType" => "PAY_PRIMARY", 
     "receiverList.receiver[0].email" => '[email protected]', 
     "receiverList.receiver[0].amount" => '10', 
     "receiverList.receiver[0].primary" => 'true', 
     "receiverList.receiver[1].email" => '[email protected]', 
     "receiverList.receiver[1].amount" => '5', 
     "receiverList.receiver[1].primary" => 'false', 
    ); 

    // Convert payload array into url encoded query string 
    $body_data = http_build_query($bodyparams, "", chr(38)); 

try 
{ 
    //create request and add headers 
$params = array("http" => array(
    "method" => "POST", 
    "content" => $body_data, 
    "header" => 
     "X-PAYPAL-SECURITY-USERID: " . $API_UserName . "\r\n" . 
     "X-PAYPAL-SECURITY-SIGNATURE: " . $API_Signature . "\r\n" . 
     "X-PAYPAL-SECURITY-PASSWORD: " . $API_Password . "\r\n" . 
     "X-PAYPAL-APPLICATION-ID: " . $API_AppID . "\r\n" . 
     "X-PAYPAL-REQUEST-DATA-FORMAT: " . $API_RequestFormat . "\r\n" . 
     "X-PAYPAL-RESPONSE-DATA-FORMAT: " . $API_ResponseFormat . "\r\n" 
     )); 

    //create stream context 
    $ctx = stream_context_create($params); 

    //open the stream and send request 
$fp = @fopen($endpoint, "r", false, $ctx); 

    //get response 
    $response = stream_get_contents($fp); 

    //check to see if stream is open 
if ($response === false) { 
    throw new Exception("php error message = " . "$php_errormsg"); 
    } 

    //close the stream 
    fclose($fp); 

    //parse the ap key from the response 
$keyArray = explode("&", $response); 

    foreach ($keyArray as $rVal){ 
     list($qKey, $qVal) = explode ("=", $rVal); 
      $kArray[$qKey] = $qVal; 
    } 

    //print the response to screen for testing purposes 
If ($kArray["responseEnvelope.ack"] == "Success") { 

     foreach ($kArray as $key =>$value){ 
     echo $key . ": " .$value . "<br/>"; 
} 
} 
else { 
    echo 'ERROR Code: ' . $kArray["error(0).errorId"] . " <br/>"; 
    echo 'ERROR Message: ' . urldecode($kArray["error(0).message"]) . " <br/>"; 
    } 

    } 
catch(Exception $e) { 
    echo "Message: ||" .$e->getMessage()."||"; 
    } 

Спасибо!

+0

Возможный дубликат [Ошибка # 520009 - Учетная запись ограничена] (http://stackoverflow.com/questions/12247050/error-520009-account-is-restricted) – billinkc

ответ

0

«но, насколько я знаю, это не должно быть проблемой, как модуль адаптивного платежей не требует приемников иметь Paypal счета заранее»

Это неправильно. Для Adaptive Chained Payments все получатели должны иметь активную и проверенную учетную запись Personal, Premier или Business PayPal.

+1

В соответствии с «Руководством разработчика Adaptive Payments» Разработчик API SOAP ReferencePP_AdaptivePayments .pdf '; «У владельца приложения должна быть учетная запись PayPal Business. У отправителей и получателей может быть любой тип учетной записи PayPal» – plenderj

+0

Владелец приложения и получатель могут быть разными учетными записями, поэтому имеют разные требования. ;-) – Robert

+0

Не понимаю этот комментарий. Для получателей приемочных платежей НЕ нужны счета Premier или Business PayPal. Им просто нужна активная/подтвержденная учетная запись PayPal. –

4

EDIT: Я могу решить проблему, удалив параметр «feePayer», который должен быть значением по умолчанию (то есть, EACHRECEIVER) в случае одностороннего платежа.

Я тоже застрял в этом вопросе.

Интересно, как я мог бы достичь «односторонний платеж», которая описывается PayPal следующим образом:

Вы можете использовать операцию Pay API, чтобы сделать односторонние платежи по ограниченных обстоятельствах. Односторонний платеж - это платеж, который производится получателю, у которого нет учетной записи PayPal. Односторонние платежи могут использоваться с простыми или параллельными платежами, которые неявны или предварительно одобрены. Односторонние платежи не предназначены для использования с прикомандированными платежами или платежами, которые требуют одобрения вручную через веб-поток . Когда вы отправляете односторонний платеж, вы отправляете платеж , который содержит адрес электронной почты для получателя, и это адрес электронной почты не связан с зарегистрированной учетной записью PayPal. Приемник получает электронное письмо с уведомлением получателя о создании учетной записи и требует оплаты. PayPal имеет платеж получателю, чей адрес электронной почты еще не зарегистрирован или не подтвержден до тех пор, пока получатель не создает учетную запись PayPal и подтверждает адрес электронной почты. Если возврат указывает получателю, чей адрес электронной почты еще не зарегистрирован или не подтвержден, платеж получателю отменяется.

Любой имеющий представление о том, что параметр-настройки с помощью NVP требуется для достижения этой цели, не получая ERROR Code: 520009 ERROR Message: Account [email protected] is restricted

Любой намек высоко ценится!

+0

Большое вам спасибо ... Я не могу понять документацию Paypal. – geekazoid

Смежные вопросы