Clase PHP para Authorize.net Automated Recurring Billing Payments API

Sólo un idiota puede ser totalmente feliz.

Mario Vargas Llosa

Suscríbete al feed

Comentarios recientes

John Conde fue el primero en escribir una clase PHP para la reciente API de Authorize.net Automated Recurring Payments (ARB), él también fue quien me dijo que la tan esperada API estaba a punto de llegar hace algunas semanas.

El código de John era solo para PHP 5 así que cambié algunas cositas y he terminado una primera versión que funciona tanto en PHP 5 como PHP 4.

Descarga arb2.zip y cuéntame como te funciona.

Aún estoy probando la clase y si encuentro algún problema actualizaré este artículo y el código.

Necesitarás una cuenta Authorize.net con ARB activo.

Puedes usar código como el siguiente para utilizar la clase:

<?php
  require_once("AuthnetARB.class.php");

$login = 'cnpdev4289'; $transkey = 'SR2P8g4jdEn7vFLQ'; $test = TRUE;

$arb = new AuthnetARB($login, $transkey, $test);

$arb->setParameter('interval_length', 1); $arb->setParameter('interval_unit', 'months'); $arb->setParameter('startDate', date("Y-m-d")); $arb->setParameter('totalOccurrences', 12); $arb->setParameter('trialOccurrences', 0); $arb->setParameter('trialAmount', 0.00);

$arb->setParameter('amount', 1.00); $arb->setParameter('refId', 15); $arb->setParameter('cardNumber', '5424000000000015'); $arb->setParameter('expirationDate', '2009-05');

$arb->setParameter('firstName', 'Joe'); $arb->setParameter('lastName', 'Doe'); $arb->setParameter('address', 'Casa 1872'); $arb->setParameter('city', 'City'); $arb->setParameter('state', 'FL'); $arb->setParameter('zip', '33619'); $arb->setParameter('country', 'us');

$arb->setParameter('subscrName', 'The Test Account'); $arb->createAccount();

echo 'isSuccessful: ' .$arb->isSuccessful() . '<br />';

if ($arb->isSuccessful()) { echo 'cool, it worked! <br />'; } else { echo 'error in payment <br />'; }

echo 'isError: ' .$arb->isError() . '<br />'; echo 'getSubscriberID: ' .$arb->getSubscriberID() . '<br />'; echo 'getResponse: ' .$arb->getResponse() . '<br />'; echo 'getResultCode:' .$arb->getResultCode() . '<br />'; echo 'getString: ' .$arb->getString() . '<br />'; echo 'getRawResponse: ' .$arb->getRawResponse() . '<br />'; ?>

Suerte.

Participa en la discusión

Pruebas mas complejas

Alguien ha hecho pruebas mas complejas de AuthnetARB.class.php quisiera elaborar una guia para usuarios de esta clase, comenzando por un sistema sencillo para donaciones.

Saludos

Cesar

Recomendación

Alexis, ésta está muy bien hecha y funciona perfectamente, no te imaginas lo feliz que estoy, porque luego de tres dias de intentar una cosa y otra y el pésimo contact center y support de authorize, de manera infructuosa, me has dado luz!!!

RECOMIENDO ENTERAMENTE ESTA CLASE, FUNCIONA CORRECTAMENTE!!!!

Buenas tardes, tengo algunas

Buenas tardes, tengo algunas preguntas sobre el uso de Authorize.net, quisiera saber si me puedes ayudar con información del sistema y su posible integración con el ssl de godaddy, digamos que soy mas bien novato en este tema., te quedo muy agradecido.

Authorize.net y SSL son independientes

Authorize.net es un procesador de pagos y SSL un protocolo para proveer seguridad en la transferencia de datos. El proveedor que uses para obtener tu certificado de seguridad SSL no afecta en nada la forma como uses el API de Authorize.net.

Te sugiero leer la documentación Authorize.net, el uso del API está muy bien explicado allí.

Saludos.

Alexis Bellido

Hola, tengo una duda... es

Hola, tengo una duda... es respecto a lo de ARB, me podrías explicar a que te refieres con eso? o que tipo de aplicaciones usan esa API?
Gracias

ARB es para pagos recurrentes

Imagina que vendes un servicio por suscripción y quieres cobrar US$ 5 por mes a cada cliente pero sin tener que pedirle a cada cliente que ingrese sus datos de tarjeta de crédito cada mes.

Con ARB de Authorize.net es posible hacerlo, el API permite crear una suscripción y basta que el cliente ingrese sus datos una sola vez para que Authorize.net cobre de acuerdo a la frecuencia que has definido.

Más información en la documentación que puedes descargar desde tu cuenta de Authorize.net.

Saludos.

Alexis Bellido

Publica comentarios relevantes, usa español correcto y no envíes publicidad. Creemos discusiones en las que valga la pena participar. Puedes usar Markdown.

Tu comentario