integrar - Paypal API Express Checkout en PHP Código de error de pago 13113
paypal/rest-api-sdk-php laravel (1)
Hemos probado y probado nuestro sitio con Paypal Sandbox y funciona deduciendo la cantidad.
Cambiamos los detalles de la API a Paypal y los enlaces. Hemos intentado con varias cuentas de PayPal para ver si funciona (todas tienen fondos suficientes para la transacción).
Recibimos esto de vuelta a través de la API en nuestra página returnUrl - Falló la llamada 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 hacer la llamada 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);
La matriz anterior proviene de cuando recibo mi reconocimiento final de 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);
}
No hay mucho en google sobre este error, ni siquiera en los códigos de error API. ¿Alguien ha encontrado esto antes?
Los códigos de error de la API de PayPal no son muy útiles.
El código de error 13113, o "El Comprador no puede pagar con PayPal por esta Transacción" significa que PayPal ha tomado una medida de seguridad al rechazar procesar la transacción. Esto puede suceder por una de las siguientes razones (hay más, pero aquí hay algunas):
- El comprador no tiene suficiente dinero en su cuenta
- El comprador no tiene suficiente dinero en su cuenta, y hay un problema al cargar su tarjeta de crédito (si lo tienen configurado en su configuración)
- El comprador ha solicitado un reembolso por otro artículo del vendedor y, por lo tanto, PayPal ha bloqueado la transferencia de dinero al vendedor hasta que la situación se haya resuelto.
- El comprador es sospechoso de actividad fraudulenta, por lo que hay una congelación en sus cuentas.
- La cuenta del comprador está restringida a enviar dinero al vendedor específico por alguna otra razón
- La cuenta del comprador está completamente congelada por alguna razón específica
Lamentablemente, no hay mucho que nadie pueda decir sin consultar detenidamente el código. Revisaría mi código y me aseguraría de que se configuraran todos los indicadores apropiados y lo que no. Si espera unas horas y sigue recibiendo el error (especialmente en cuentas múltiples / nuevas), deberá ponerse en contacto con PayPal.
Sé que apesta, pero solo PayPal podrá decirle por qué exactamente la transacción está fallando.