Esta es una API muy antigua pero todavía funciona muy bien y sirve bien para proyectos sencillos donde necesitas cobrar por suscripciones y con la posibilidad de automatizar usando Paypal IPN (Instant Payment Notifications).
Paypal permite hacer botones para:
- Pagar ahora
- Suscripciones
- Donaciones
Un ejemplo sencillo de como se puede crear un botón de pagar ahora, con puro HTML y con el menor número de parámetros:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="rmiranda@crearestudio.com">
<input type="hidden" name="amount" value="3.99" />
<input type="hidden" name="currency_code" value="USD" />
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" />
</form>
El código de arriba genera un botón para cobrar 3.99 USD, aquí abajo un ejemplo de este código en vivo:
Botones de suscripción
Para crear un botón de suscripción el siguiente código ejemplifica una suscripción básica:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick-subscriptions" />
<input type="hidden" name="business" value="rmiranda@crearestudio.com" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="a3" value="29" />
<input type="hidden" name="p3" value="1" />
<input type="hidden" name="t3" value="M" />
<input type="hidden" name="src" value="1" />
<input type="hidden" name="sra" value="1" />
<input type="image" src="https://www.paypalobjects.com/en_US/MX/i/btn/btn_subscribeCC_LG.gif" />
</form>
Este código generará un código como el siguiente, suscripción mensual de 29 USD que se renovará hasta que el cliente cancele:
Definición de parámetros para botones de suscripción
Parámetros básicos
- cmd: Este parámetro distingue el tipo de botón que se va a generar en el caso de las suscripciones debe ser: _xclick-subscriptions
- business: La dirección de correo de tu cuenta de Paypal, con la que deseas cobrar.
- currency_code: Códigos de moneda ISO-4217. Australian Dollar (AUD), Canadian Dollar (CAD), Swiss Franc (CHF), Czech Koruna (CZK), Danish Krone (DKK), Euro (EUR), Pound Sterling (GBP), Hong Kong Dollar (HKD), Hungarian Forint (HUF), Japanese Yen (JPY), Norwegian Krone (NOK), New Zealand Dollar (NZD), Polish Zloty (PLN), Swedish Krona (SEK), Singapore Dollar (SGD), U.S. Dollar (USD).
Parámetros del periodo de prueba
- a1: Monto del periodo de prueba
- p1: Duración del periodo de prueba
- t1: Unidad de duración del periodo de prueba, los valores aceptados D = Day, W = Week, M = Month, Y = Year.
Parámetros del segundo periodo de prueba
Paypal da la posibilidad de especificar un segundo periodo de prueba.
- a2: Monto del segundo periodo de prueba
- p2: Duración del segundo periodo de prueba
- t2: Unidad de duración del segundo periodo de prueba, los valores aceptados D = Day, W = Week, M = Month, Y = Year.
Pago de la suscripción (Pago que se va a cobrar recurrentemente)
- a3: Monto del pago recurrente
- p3: Periodo de duración del pago recurrente
- t3: Unidad de la duración del pago recurrente, valores aceptados D = Day, W = Week, M = Month, Y = Year.
Parámetros adicionales
- custom: Este es un parámetro libre donde puede colocar datos para utilizarlo posteriormente a través de Paypal IPN o para identificar tus transacciones.
Documentación: https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/archive/PP_subscriptions.pdf
WIP / Done is Better than Perfect