Los pagos en serie de PayPal (batch payments) sirven para realizar múltiples pagos de forma masiva a personas que tengan una cuenta de PayPal para realizar pagos masivos o transferencias periódicas de dinero que es necesario para ciertas empresas o tiendas en Internet.
La gran ventaja es que podemos programar una aplicación que realice este pago a los usuarios que nosotros deseemos. Para ello deberemos crear un fichero en el que los datos de cada pago estarán separados por tabulaciones y cada pago por un salgo de línea. El formato de cada pago es el siguiente:
- Dirección de correo electrónico del usuario
- Importe en el formato 12.34
- Código de la moneda de pago (monedas de pago en PayPal). En cada archivo sólo puede haber una moneda, por lo que si tenemos que hacer varios pagos de varias monedas deberemos generar diferentes archivos
- Identificador del pago (sin espacios)
- Texto explicativo del pago (opcional)
Un ejemplo de archivo de pago en serie sería el siguiente:
123456@dompruebas.es 2.43 EUR transferencia_2245 Pago del día 14 de Mayo abcdfeg@dompruebas.es 122.53 EUR transferencia_2246 Pago del día 14 de Mayo
Ejemplo de generación de pago en serie en PHP
Con el siguiente sencillo ejemplo, conseguiremos hacer un script que realice pagos en serie. La fuente la suponemos de una base de datos, y tras crear el archivo, deberemos subir el archivo a la web de PayPal para realizar los pagos:
<?php // Resultados obtenidos de una base de datos, XML, etc. $moneda = "EUR"; $bp[0]['email'] = "123456@dompruebas.es"; $bp[0]['importe'] = "2.43"; $bp[0]['identificador'] = "transferencia_2245"; $bp[0]['mensaje'] = "Pago del día 14 de Mayo"; $bp[1]['email'] = "abcdfeg@dompruebas.es"; $bp[1]['importe'] = "122.53"; $bp[1]['identificador'] = "transferencia_2246"; $bp[1]['mensaje'] = "Pago del día 14 de Mayo"; // Procesamos $archivo = ""; $icount = count($bp); for($i=0;$i<$icount;$i++) { $archivo.=$bp[$i]['email']."t"; $archivo.=$bp[$i]['importe']."t"; $archivo.=$moneda."t"; $archivo.=$bp[$i]['identificador']."t"; $archivo.=$bp[$i]['mensaje']."rn"; } $nombre_archivo = date("Ymd").'_'.$moneda.'_bp_'.time().'.txt'; $fd=fopen($nombre_archivo, 'a'); fwrite($fd,$archivo); fclose($fd); ?>
Para más información, podemos leer la documentación oficial de los pagos en serie.
Comentarios