DreamPay API - Integración Web
Integre DreamPay en su sitio web para comenzar a aceptar pagos en línea de sus clientes titulares de tarjetas de crédito brasileñas.
Nuestro checkout estándar proporciona todas las funcionalidades esenciales para integrar DreamPay Checkout en el lado cliente de su aplicación. Disponible solo para integraciones web.
Solo HTTPS
Para mantener los niveles de seguridad estándar de la industria, la API de DreamPay no aceptará solicitudes con payloads no cifrados (ej: usando la URL http://api.dreampay.com.br). Asegúrese de que su cliente API esté configurado para usar siempre la URL https://api.dreampay.com.br.
1. Pre-requisitos
Para utilizar la API de DreamPay para integración web necesita tener una cuenta de socio. Si aún no tiene una, regístrese en https://linkgenerator.dreampay.com.br
2. URL's de la API
- La API de DreamPay está disponible en https://api.dreampay.com.br/
- La documentación Open Api de DreamPay está disponible en https://api.dreampay.com.br/docs/
3. Autenticación de la API
La autenticación se realiza enviando en el header de todas las solicitudes la clave "ApiKey" cuyo valor se encuentra en la página de perfil de su cuenta.
4. Pasos del flujo
a. Generar enlace de pago
Como primer paso para integrar los pagos DreamPay en su flujo de checkout, necesita generar un enlace de pago haciendo una solicitud POST a /api/PaymentLinks
{
"establishmentID": 1001,
"customerName": "Your customer name",
"customerEmail": "customer-email@gmail.com",
"customerPhoneNumber": "+351919191919 - optional",
"orderNumber": "136",
"value": 29.99,
"currencyCode": "EUR",
"observations": "Some description - optional",
"callbackUrl": "https://callbackurl.pt/endpoint - optional",
"returnUrl": "https://return.url - optional"
} El establishmentID es el número de 4 dígitos que se encuentra en su contrato, consultando los Términos y Condiciones en la página de perfil.
b. Enviar cliente a la página de pago
Como segundo paso, debe redirigir a su cliente al enlace de pago recibido en el paso anterior. Puede abrirlo en una ventana modal, un iframe o en una nueva ventana.
c. Mostrar resultado del pago
El resultado del pago se muestra en la página de pago DreamPay. Puede proporcionar una returnUrl para redirigir al cliente a una página de "Gracias" o "Mi cuenta" para una mejor experiencia.
- Puede verificar el estado del pago haciendo una solicitud GET a /api/PaymentLinks/{id}
- Puede proporcionar una callbackUrl para recibir la confirmación del pago.
interface CallbackMessage {
apiKey: string;
paymentLink: string;
status: string;
message: string;
integrationId: string;
} Puede obtener la lista de todos los enlaces de pago generados haciendo una solicitud GET a /api/PaymentLinks/establishment/{establishmentId}
5. Otros métodos disponibles
a. Lista de enlaces de pago
Puede obtener la lista de todos los enlaces de pago generados haciendo una solicitud GET a /api/PaymentLinks/establishment/{establishmentId}
b. Verificar estado del enlace de pago
Puede verificar el estado del pago haciendo una solicitud GET a /api/PaymentLinks/{id}
6. Pruebas y Sandbox
- El entorno de pruebas de la API DreamPay está disponible en https://dev-api.dreampay.com.br
- La documentación Open Api del entorno de pruebas está disponible en https://dev-api.dreampay.com.br/docs/
- El Linkgenerator del entorno de pruebas está disponible en https://dev-linkgenerator.dreampay.com.br
Antes de aceptar pagos reales, puede utilizar los siguientes números de tarjeta de prueba para probar su integración.
Estos números de tarjeta solo son válidos en nuestra plataforma de pruebas y no resultarán en una transacción real ni transferencia de fondos.
| Bandera | Tipo | Número de Tarjeta | Fecha de Vencimiento | CID |
|---|---|---|---|---|
| Mastercard | Débito | 5277696455399733 | jan/35 | 123 |
| Mastercard | Crédito | 5448280000000007 | jan/35 | 123 |
| Mastercard (BIN 2) | Débito | 2223000148400010 | jan/35 | 123 |
| Mastercard (BIN 2) | Crédito | 2223020000000005 | jan/35 | 123 |
| Visa | Débito | 4761120000000148 | jan/35 | 123 |
| Visa | Crédito | 4235647728025682 | jan/35 | 123 |
| Hipercard | Crédito | 6062825624254001 | jan/35 | 123 |
| Hiper | Crédito | 6370950847866501 | jan/35 | 123 |
| Diners | Crédito | 36490101441625 | jan/35 | 123 |
| JCB | Crédito | 3569990012290937 | jan/35 | 123 |
| JCB (19 dig) | Crédito | 3572000100200142753 | jan/35 | 123 |
| Credz | Crédito | 6367600001405019 | jan/35 | 123 |
| Elo | Crédito | 4389351648020055 | jan/35 | 123 |
| Amex | Crédito | 371341553758128 | jan/35 | 1234 |
| Cabal | Crédito | 6042034400069940 | jan/35 | 123 |
| Sorocred | Crédito | 6364142000000122 | jan/35 | 123 |
| Credsystem | Crédito | 6280281038975334 | jan/35 | 123 |
| Banescard | Crédito | 6031828795629272 | jan/35 | 123 |
Tarjetas de Prueba Tokenizadas
| Bandera | Tipo | Número de Tarjeta | Fecha de Vencimiento | CID | tokenCode | tokenCryptogram |
|---|---|---|---|---|---|---|
| Visa | Crédito | 4895370010000005 | jan/35 | 123 | 4830442035272279 / 4830447374649789 / 4894093711004024 | AgAAAAAAAIR8CQrXSohbQAAAAAA= |
| Visa | Débito | 4824810010000006 | jan/35 | 123 | 4894092622280160 / 4894096020766258 / 4894094167345770 | AAABAkkREQAAAAAAAAAAAAAAAAA= |
| Mastercard (BIN 2) | Crédito | 2223000250000004 | jan/35 | 123 | * | ANbuvvxnDbK2AAEShHMWGgADFA== |
| Mastercard (BIN 2) | Débito | 5204970000000007 | jan/35 | 123 | * | AOPAIMgflr8UAAIShHMWGgADFA== |
Tarjetas de Prueba 3DS
| Número de Tarjeta | Fecha de Vencimiento | CID |
|---|---|---|
| 4110110043597521 | 03/2030 | 123 |
| 370000000000002 | 03/2030 | 7373 |
| 4003550000000003 | 03/2030 | 737 |
| 4360000001000005 | 03/2030 | 737 |
| 4166676667666746 | 03/2030 | 737 |
| 4000620000000007 | 03/2030 | 737 |
| 4293189100000008 | 03/2030 | 737 |
| 6703444444444449 | 03/2030 | 797 |
Para simular códigos de error, simplemente envíe transacciones con los valores correspondientes a los códigos de error, como se muestra en la tabla a continuación:
| Código de Error | Monto | Mensaje de Retorno |
|---|---|---|
| 53 | 53 | Transaction not allowed for the issuer. Contact Rede. |
| 56 | 56 | Error in reported data. Try again. |
| 57 | 57 | affiliation: Invalid merchant. |
| 58 | 58 | Unauthorized. Contact issuer. |
| 69 | 69 | Transaction not allowed for this product or service. |
| 72 | 72 | Contact issuer. |
| 74 | 74 | Communication failure. Try again. |
| 79 | 79 | Expired card. Transaction cannot be resubmitted. Contact issuer. |
| 80 | 80 | Unauthorized. Contact issuer. (Insufficient funds). |
| 83 | 83 | Unauthorized. Contact issuer. |
| 84 | 84 | Unauthorized. Transaction cannot be resubmitted. Contact issuer. |
| 100 | 100 | Please contact issuer. |
| 101 | 101 | Unauthorized. Problems on the card, contact the issuer. |
| 102 | 102 | Unauthorized. Check the situation of the store with the issuer. |
| 103 | 103 | Unauthorized. Please try again. |
| 104 | 104 | Unauthorized. Please try again. |
| 105 | 105 | Unauthorized. Restricted card. |
| 106 | 106 | Error in issuer processing. Please try again. |
| 108 | 108 | Unauthorized. Value not allowed for this type of card. |
| 109 | 109 | Unauthorized. Nonexistent card. |
| 110 | 110 | Unauthorized. Transaction type not allowed for this card. |
| 111 | 111 | Unauthorized. Insufficient funds. |
| 112 | 112 | Unauthorized. Expiry date expired. |
| 113 | 113 | Unauthorized. Identified moderate risk by the issuer. |
| 114 | 114 | Unauthorized. The card does not belong to the payment network. |
| 115 | 115 | Unauthorized. Exceeded the limit of transactions allowed in the period. |
| 116 | 116 | Unauthorized. Please contact the Card Issuer. |
| 117 | 117 | Transaction not found. |
| 118 | 118 | Unauthorized. Card locked. |
| 119 | 119 | Unauthorized. Invalid security code. |
| 121 | 121 | Error processing. Please try again. |
| 122 | 122 | Transaction previously sent. |
| 123 | 123 | Unauthorized. Bearer requested the end of the recurrences in the issuer. |
| 124 | 124 | Unauthorized. Contact Rede. |
| 204 | 204 | Cardholder not registered in the issuer's authentication program. |
| 899 | 899 | Unsuccessful. Please contact Rede. |
| 3025 | 3025 | Deny Category 01: This card should not be used |
| 3026 | 3026 | Deny Category 02: This card should not be used in this PV |
| 3027 | 3027 | Deny Category 03: No cards must be used in this PV |
Mensaje de Retorno
La siguiente tabla muestra los Estados de las Transacciones, definidos por el NÚMERO FINAL de cada tarjeta, y el ReturnCode:
| Final de Tarjeta | Estado de Transacción | Mensaje de Retorno |
|---|---|---|
| XXXX.XXXX.XXXX.XXX0 | 200 | Payment made successfully |
| XXXX.XXXX.XXXX.XXX1 | 200 | Payment made successfully |
| XXXX.XXXX.XXXX.XXX4 | 200 | Payment made successfully |
| XXXX.XXXX.XXXX.XXX2 | 400 | Not Allowed |
| XXXX.XXXX.XXXX.XXX3 | 400 | Expire Card |
| XXXX.XXXX.XXXX.XXX5 | 400 | Blocked Card |
| XXXX.XXXX.XXXX.XXX6 | 400 | Time Out |
| XXXX.XXXX.XXXX.XXX7 | 400 | Card Canceled |
| XXXX.XXXX.XXXX.XXX8 | 400 | Credit Card Problems |
La tarjeta de prueba 4110.1100.4359.7521, por ejemplo, simulará "Payment made successfully".
Atención: El entorno sandbox evalúa el formato y el final de la tarjeta. Si se envía una tarjeta real, el resultado de la operación será idéntico al descrito en la tabla anterior.