DreamPay API - Integração Web
Integre a DreamPay no seu website para começar a aceitar pagamentos online dos seus clientes titulares de cartões de crédito brasileiros.
O nosso checkout padrão fornece todas as funcionalidades essenciais para integrar o DreamPay Checkout no lado cliente da sua aplicação. Disponível apenas para integrações web.
Apenas HTTPS
Para manter os níveis de segurança padrão da indústria, a API DreamPay não aceita pedidos com payloads não encriptados (ex: usando a URL http://api.dreampay.com.br). Certifique-se de que o seu cliente API está configurado para usar sempre a URL https://api.dreampay.com.br.
1. Pré-requisitos
Para utilizar a API DreamPay para integração web precisa de ter uma conta de parceiro. Se ainda não tem uma, registe-se em https://linkgenerator.dreampay.com.br
2. URL's da API
- A API DreamPay está disponível em https://api.dreampay.com.br/
- A documentação Open Api da DreamPay está disponível em https://api.dreampay.com.br/docs/
3. Autenticação da API
A autenticação é feita enviando no header de todos os pedidos a chave "ApiKey" cujo valor se encontra na página de perfil da sua conta.
4. Passos do fluxo
a. Gerar link de pagamento
Como primeiro passo para integrar os pagamentos DreamPay no seu fluxo de checkout, precisa de gerar um link de pagamento fazendo um pedido POST para /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"
} O establishmentID é o número de 4 dígitos que pode ser encontrado no seu contrato, consultando os Termos e Condições na página de perfil.
b. Enviar cliente para a página de pagamento
Como segundo passo, deve redirecionar o seu cliente para o link de pagamento recebido no passo anterior. Pode abri-lo numa janela modal, num iframe ou numa nova janela.
c. Exibir resultado do pagamento
O resultado do pagamento é exibido na página de pagamento DreamPay. Pode fornecer uma returnUrl para redirecionar o cliente para uma página de "Obrigado" ou "Minha conta" para uma melhor experiência.
- Pode verificar o status do pagamento fazendo um pedido GET para /api/PaymentLinks/{id}
- Pode fornecer uma callbackUrl para receber a confirmação do pagamento.
interface CallbackMessage {
apiKey: string;
paymentLink: string;
status: string;
message: string;
integrationId: string;
} Pode obter a lista de todos os links de pagamento gerados fazendo um pedido GET para /api/PaymentLinks/establishment/{establishmentId}
5. Outros métodos disponíveis
a. Lista de links de pagamento
Pode obter a lista de todos os links de pagamento gerados fazendo um pedido GET para /api/PaymentLinks/establishment/{establishmentId}
b. Verificar status do link de pagamento
Pode verificar o status do pagamento fazendo um pedido GET para /api/PaymentLinks/{id}
6. Testes e Sandbox
- O ambiente de testes da API DreamPay está disponível em https://dev-api.dreampay.com.br
- A documentação Open Api do ambiente de testes está disponível em https://dev-api.dreampay.com.br/docs/
- O Linkgenerator do ambiente de testes está disponível em https://dev-linkgenerator.dreampay.com.br
Antes de aceitar pagamentos reais, pode utilizar os seguintes números de cartão de teste para testar a sua integração.
Estes números de cartão são válidos apenas na nossa plataforma de testes e não resultarão numa transação real ou transferência de fundos.
| Bandeira | Tipo | Número do Cartão | Data de Validade | 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 |
Cartões de Teste Tokenizados
| Bandeira | Tipo | Número do Cartão | Data de Validade | 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== |
Cartões de Teste 3DS
| Número do Cartão | Data de Validade | 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 erro, basta enviar transações com os valores correspondentes aos códigos de erro, conforme a tabela abaixo:
| Código de Erro | Valor | Mensagem 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 |
Mensagem de Retorno
A tabela seguinte mostra os Status das Transações, definidos pelo NÚMERO FINAL de cada cartão, e o ReturnCode:
| Final do Cartão | Status da Transação | Mensagem 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 |
O cartão de teste 4110.1100.4359.7521, por exemplo, simulará "Payment made successfully".
Atenção: O ambiente sandbox avalia o formato e o final do cartão. Se um cartão real for enviado, o resultado da operação será idêntico ao descrito na tabela acima.