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

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

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.