Paypal API Express Checkout em PHP Código de erro de pagamento 13113

Nós tentamos e testamos nosso site com o sandbox Paypal e funciona totalmente deduzindo o valor.

Trocamos os detalhes da API para Paypal e os links. Nós tentamos com várias contas paypal para ver se isso funciona (todos eles têm fundos suficientes para a transação).

Recebemos isso de volta através da API na nossa página ReturnUrl – Falha na chamada da API

Array ( [TIMESTAMP] => 2012%2d07%2d15T19%3a31%3a43Z [CORRELATIONID] => 927a89205e54a [ACK] => Failure [VERSION] => 65%2e1 [BUILD] => 3300093 [L_ERRORCODE0] => 13113 [L_SHORTMESSAGE0] => Buyer%20Cannot%20Pay%2e [L_LONGMESSAGE0] => The%20Buyer%20cannot%20pay%20with%20PayPal%20for%20this%20Transaction%2e [L_SEVERITYCODE0] => Error ) 

Php para fazer a chamada API final –

 $APIUSERNAME="*****"; $APIPASSWORD="***"; $APISIGNATURE="*****"; $ENDPOINT = "https://api-3t.paypal.com/nvp"; //$ENDPOINT = "https://api-3t.sandbox.paypal.com/nvp"; $VERSION = "64"; //Build the Credential String: $cred_str = "USER=" . $APIUSERNAME . "&PWD=" . $APIPASSWORD . "&SIGNATURE=" . $APISIGNATURE . "&VERSION=" . $VERSION; //Build NVP String for GetExpressCheckoutDetails $nvp_str = "&METHOD=GetExpressCheckoutDetails&TOKEN=" . urldecode($token); //Lets combine both strings then make the API call $req_str = $cred_str . $nvp_str; $response = PPHttpPost($ENDPOINT, $req_str); 

A matriz acima vem de quando recebo meu reconhecimento final do paypal.

 //check Response if($doresponse['ACK'] == "Success" || $doresponse['ACK'] == "SuccessWithWarning") { echo "completed"; //just put to test include "finishtransaction.php"; //cancels my cart sessions } else{ echo "The API Call Failed"; print_r($doresponse); } 

Não há muito no google sobre esse erro, nem mesmo nos códigos de erro da API. Alguém já encontrou isso antes?

   

Os códigos de erro da API do PayPal são certamente não muito úteis.

O código de erro 13113, ou “O Comprador não pode pagar com o PayPal para esta Transação” significa que o PayPal tomou uma medida de segurança ao se recusar a processar a transação. Isso pode acontecer por um dos seguintes motivos (há mais, mas aqui estão alguns):

  • O comprador não tem dinheiro suficiente em sua conta
  • O comprador não tem dinheiro suficiente em sua conta, e há um problema ao carregar seu cartão de crédito (se eles tiverem esse conjunto em suas configurações)
  • O comprador pediu um reembolso em outro item do vendedor, e o PayPal, portanto, bloqueou a conta do comprador de transferir dinheiro para o vendedor até a situação ter sido resolvida.
  • O comprador é suspeito de atividade fraudulenta, então há um congelamento em suas contas.
  • A conta do comprador está restrita ao envio de dinheiro para o vendedor específico por algum outro motivo
  • A conta do comprador está totalmente congelada por algum motivo específico

Infelizmente, não há muito que alguém possa dizer sem examinar completamente seu código. Eu verificaria meu código e me certificaria de que todas as bandeiras apropriadas e o que não estiverem definidos. Se você esperar algumas horas e ainda está recebendo o erro (especialmente em contas múltiplas / novas), então você precisará entrar em contato com o PayPal.

Eu sei que é uma merda, mas apenas o PayPal poderá dizer-lhe por que exatamente a transação está falhando.