Webcheckout
Abaixo você encontrará um código de exemplo para o seu botão de pagamento. Basta substituir os valores de amostra conforme necessário e você estará pronto para começar a receber pagamentos.
POST /pay
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_price
Requerido
|
string |
Valor do pagamento: ex. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
pg_currency
Requerido
|
string |
Tipo de moeda especificado no código alfabético ISO 4217 |
pg_country
Opcional
|
string |
código do país ISO 3166-2 |
pg_method
Opcional
|
string |
Código do método de pagamento |
pg_email
Opcional
|
string |
Email do pagador |
pg_first_name
Opcional
|
string |
Nome do pagador |
pg_last_name
Opcional
|
string |
Sobrenome do pagador |
pg_personalid
Opcional
|
string |
Número do documento do pagador |
pg_phone
Opcional
|
string |
Número de telefone do pagador |
pg_sub_merchant_id
Opcional
|
string |
Código usado para distinguir entre diferentes comerciantes que usam nosso serviço através de sua plataforma |
pg_sub_merchant_url
Opcional
|
string |
Site do comerciante de onde o pagamento é originado |
pg_return_url
Opcional
|
string |
Redirecionar url para pagamentos concluídos |
pg_cancel_url
Opcional
|
string |
Redirecionar url para quando o pagamento falhar ou for cancelado pelo pagador |
pg_language
Opcional
|
string |
idioma ISO 639-1 |
pg_name
Opcional
|
string |
Descrição do seu produto / serviço, que será mostrado na tela de pagamento (Max: 255) |
pg_custom
Opcional
|
string |
Campo flexível, pode ser usado para rastrear usuário, estoque, etc. (Máx. 255) |
API
Nossa implementação de API oferece um alto nível de personalização, permitindo que você implemente uma solução de pagamento de marca branca diretamente em sua plataforma de forma rápida e fácil.
Esta implementação é com base em chamadas POST para serviços da web, que fornecerão uma resposta no formato JSON. A resposta conterá o URL para o qual você deve redirecionar seus clientes para iniciar o processo de pagamento.
Assinatura da mensagem
Todos os pedidos à API de pagamento devem ser assinados usando a chave secreta do estabelecimento comercial com o algoritmo HMAC SHA256. A assinatura deve ser calculada usando a carga útil da solicitação, classificada em ordem crescente e adicionando este resultado em um cabeçalho de solicitação denominado X-Pg-Sig.
Obter token
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
POST /api/v2/auth/token
Resposta 200 OK - Content-Type: application/json
{
"token": "dce5b070ba65626dccd4ad700fdf3c1d219105a1"
}
Efetue um pagamento
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_ip
Requerido
|
string |
Endereço IP do pagador. |
pg_price
Requerido
|
string |
Valor do pagamento: ex. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
pg_currency
Requerido
|
string |
Tipo de moeda especificado no código alfabético ISO 4217 |
pg_country
Requerido
|
string |
código do país ISO 3166-2 |
pg_method
Requerido
|
string |
Código do método de pagamento |
pg_email
Requerido
|
string |
Email do pagador |
pg_first_name
Requerido
|
string |
Nome do pagador |
pg_last_name
Requerido
|
string |
Sobrenome do pagador |
pg_personalid
Opcional
|
string |
Número do documento do pagador |
pg_phone
Opcional
|
string |
Número de telefone do pagador |
pg_sub_merchant_id
Opcional
|
string |
Código usado para distinguir entre diferentes comerciantes que usam nosso serviço através de sua plataforma |
pg_sub_merchant_url
Opcional
|
string |
Site do comerciante de onde o pagamento é originado |
pg_return_url
Requerido
|
string |
Redirecionar url para pagamentos concluídos |
pg_cancel_url
Requerido
|
string |
Redirecionar url para quando o pagamento falhar ou for cancelado pelo pagador |
pg_custom
Opcional
|
string |
Campo flexível, pode ser usado para rastrear usuário, estoque, etc. (Máx. 255) |
pg_address
Opcional
|
string |
endereço do pagador (Max 256) |
pg_city
Opcional
|
string |
cidade pagadora (Max 64) |
Nota
Alguns países têm requisitos especiais para certos métodos de pagamento.
POST /api/v2/payment/create
Resposta 200 OK - Content-Type: application/json
{
"data": {
"service_id": "SERVICE_ID",
"transaction_id": "b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"status": "created",
"payment_method": "webpay",
"amount": "3500.00",
"currency": "CLP",
"payment_method_url": "https://gateway.payretailers.cl/pay-direct/b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"custom": "Pago cuenta VIP",
"customer": {
"first_name": "Roberto",
"last_name": "Fernandez",
"email": "roberto@gmail.com",
"phone": "",
"personal_id": "",
"country": "CL"
},
"redirect_urls": {
"success_url": "http://www.mi-sitio.com/pago-ok",
"cancel_url": "http://www.mi-sitio.com/pago-cancelado"
}
}
}
Verifique um pagamento
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_token
Requerido
|
string |
Token de autenticação |
transaction_id
Requerido
|
string |
ID da transação Paygol |
POST /api/v2/payment/status
Resposta 200 OK - Content-Type: application/json
{
"payment": {
"service_id": "SERVICE_ID",
"transaction_id": "b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"status": "completed",
"payment_method": "webpay",
"amount": "3500.00",
"currency": "CLP",
"created_at": "2021-01-02 23:11:00",
"completed": "2021-01-02 23:13:00",
"custom": "Pago cuenta VIP",
"customer": {
"first_name": "Roberto",
"last_name": "Fernandez",
"email": "roberto@gmail.com",
"phone": "",
"personal_id": "",
"country": "CL"
}
}
}
OneClick
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_email
Requerido
|
string |
Email do pagador |
pg_return_url
Requerido
|
string |
Redirecionar url para pagamentos concluídos |
pg_cancel_url
Requerido
|
string |
Redirecionar url para quando o pagamento falhar ou for cancelado pelo pagador |
POST /api/v2/oneclick/register
Resposta 200 OK - Content-Type: application/json
{
"pg_token": "97462c4c-b807-4245-9716-d1b33acd2a5e",
"redirect_url": "https://gatewayint.paygol.com/oneclick/session/97462c4c-b807-4245-9716-d1b33acd2a5e"
}
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_token
Requerido
|
string |
|
POST /api/v2/oneclick/confirm
Resposta 200 OK - Content-Type: application/json
{
"pg_oneclick_card": "f81812f9-0e1b-4998-8dab-8c4084163eba",
"pg_card_type": "visa",
"pg_card_number": "XXXXXXXXXXXX9658"
}
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_price
Requerido
|
string |
Valor do pagamento: ex. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
pg_currency
Requerido
|
string |
Tipo de moeda especificado no código alfabético ISO 4217 |
pg_first_name
Requerido
|
string |
Nome do pagador |
pg_last_name
Requerido
|
string |
Sobrenome do pagador |
pg_email
Requerido
|
string |
Email do pagador |
pg_oneclick_card
Requerido
|
string |
|
POST /api/v2/oneclick/create
Resposta 200 OK - Content-Type: application/json
{
"data": {
"amount": 5000,
"currency": "CLP",
"customer": {
"first_name": "Roberto",
"last_name": "Fernandez",
"email": "user@site.cl",
"country": "CL"
},
"payment_method": "oneclick",
"status": "completed",
"transaction_id": "2418fa18-3e38-4adf-9a4a-ba943956bd59",
}
}
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_email
Requerido
|
string |
Email do pagador |
pg_oneclick_card
Requerido
|
string |
|
POST /api/v2/oneclick/unregister
Resposta 200 OK - Content-Type: application/json
Cabeçalhos
X-Pg-Sig
Requerido
|
string |
Solicitar assinatura HMAC-SHA256 |
Parâmetros
pg_serviceid
Requerido
|
string |
ID do comerciante Paygol |
pg_email
Requerido
|
string |
Email do pagador |
POST /api/v2/oneclick/cards
Resposta 200 OK - Content-Type: application/json
Notificações
IPN (Notificação Instantânea de Pagamento) é uma notificação enviada de um servidor para outro através de uma chamada HTTP POST em relação às suas transações.
Para receber notificações de eventos em seu sistema, você deve ter configurado previamente um url de notificação ao qual Paygol tenha acesso.
Para garantir a segurança das trocas, os dados serão assinados usando o comerciante secret_key .
Nota
O URL de notificação e a secret_key podem ser encontrados no painel do comerciante, seção Notificações.
Confirmação
Se o seu script de notificação executa uma lógica muito complexa ou faz chamadas para a rede, é possível que o tempo de espera expire antes que Paygol receba a confirmação de recepção. Idealmente, o seu código que lida com o recebimento de notificações (reconhecimento com código de status 2xx) é independente de qualquer outra lógica.
Tratamento de notificações duplicadas
Os endpoints de notificação às vezes podem receber a mesma notificação mais de uma vez. É por isso que recomendamos que você evite recibos de notificação duplicados, tornando o processamento de seu evento idempotente.
Notificação de pagamento concluído
{
"country": "CL",
"completed_at": "2020-11-26T16:22:32-03:00",
"currency": "CLP",
"created_at": "2020-11-26T16:19:27-03:00",
"custom": "Pago cuenta VIP",
"method": "webpay",
"price": "7500.00",
"service_id": "SERVICE_ID",
"status": "completed",
"transaction_id": "ZISS-A7Q8-RE2Z-S73W",
}
Recuperar informações de notificação