#1. Introdução
Este documento tem como objetivo guiar terceiros na integração com o Gspayments, explicando o processo de obtenção de credenciais, autenticação e consumo das APIs disponíveis.
Acesse o Portal SC3.
#2. Configuração do Gspayments
Importante: Configuração no canal tem prioridade sobre as demais!
#2.1 Configuração no Parceiro (CANAL GENÉRICO)
Acesse Configurações > Gateway > Configurações do Parceiro.
Acesse Credenciais para cadastrar uma credencial de provedor de cartão, Pix ou boleto.
Selecione os provedores disponíveis e cadastre a credencial com o adquirente/banco utilizando as credenciais fornecidas por eles. (Faça isso para outros provedores como antifraude, por exemplo).
Após esse cadastro, acesse Canais Genéricos, selecione PAYMENT_LINK e siga para Integrações e salve o provedor com a credencial criada.
Em seguida, acesse Roteamento para configurar um roteamento default ou específico, caso haja mais de um.
Configure os hooks a serem recebidos (necessário criar uma credencial de hook antes), definindo quais eventos são relevantes para garantir o fluxo correto da operação.
#2.2 Configuração no Canal PAYMENT_LINK
Acesse Acessar uma Loja > Config. Gateway > Canal > PAYMENT_LINK.
Acesse Credenciais para cadastrar uma credencial de provedor de cartão, Pix ou boleto.
Selecione os provedores disponíveis e cadastre a credencial com o adquirente/banco utilizando as credenciais fornecidas por eles. (Faça isso para outros provedores como antifraude, por exemplo).
Após esse cadastro, acesse Integrações e salve o provedor com a credencial criada.
Em seguida, acesse Roteamento para configurar um roteamento default ou específico, caso haja mais de um.
Configure os hooks a serem recebidos (necessário criar uma credencial de hook antes), definindo quais eventos são relevantes para garantir o fluxo correto da operação.
#3. Acesso às APIs
Antes de iniciar a integração, é necessário criar um App Client no portal SC3 para obter credenciais de acesso.
#Passos para criar um App Client
Acesse uma loja.
Dentro da loja, vá em Menu > Controle de Acesso > Cadastrar App Client.
#4. Configuração das Rotas de API
Em Configurações do Módulo selecionar channel (obrigatório ter um canal)
Acesse Rotas de API.
Localize Gateway de Pagamentos Gsurf (Gspayments).
Selecione todos os endpoints disponíveis.
Clique em Salvar.
Após salvar, copie e armazene com segurança os seguintes dados:
Client Secret (visível apenas na tela de criação).
Client ID (visível posteriormente).
#📌 Requisições de API
Observação: Remover o -hml das URLs caso seja produção
#📌 Requisição Token
🛠 Método: POST
🔗 URL:
https://api-hml.gsurfnet.com/gmac-v1/oauth2/token#Autenticação: Basic Auth
Username = clientId
Password = clientSecret
Resultado: Obtenção do access_token
#🔹 5. Criar Link de Pagamento
Este endpoint permite criar um link de pagamento.
#📌 Requisição
🛠 Método: POST
🔗 URL:
https://api-hml.gsurfnet.com/gs-payment-ecommerce/v1/payments/link
#5.1 Estrutura da Requisição
#Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
#Body (Exemplo JSON):
{
"payment_link_data": {
"unique_payment": true,
"allowed_payment_types": ["CARD", "SLIP", "PIX"],
"card_payment_params": {},
"recurrence_params": {},
"description": "Pagamento da compra XYZ",
"expiration": 86400,
"split_data": [],
"sale_data": {
"amount": 1000,
"merchant_correlation_id": "06f087a6-6e50-4b76-b71a-ee0ea9de961e",
"order_id": "e44a1288ea1e4410bb8c",
"submerchant_id": "05643319000159",
"merchant_document": "00037736558"
}
}
}
#5.2 Parâmetros Importantes
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| boolean | ✅ | Indica se o link é de pagamento único. |
| array | ✅ | Tipos de pagamento permitidos (CARD, SLIP, PIX). |
| string | ❌ | Descrição do link de pagamento (máx. 99 caracteres). |
| integer | ❌ | Expiração do link em segundos (máx. 172800, padrão: 86400). |
| integer | ✅ | Valor da venda sem separador decimal (ex: 1000 = R$ 10,00). |
| string | ❌ | Identificador único para referência da loja (máx. 36 caracteres). |
| string | ❌ | Número do pedido da loja (máx. 20 caracteres). |
| string | ❌ | Identificador da loja cadastrada no Gspayments (máx. 20 caracteres). |
| string | ❌ | Documento da loja que o link será criado. |
#5.3 Respostas Possíveis
#🟢 201 - Sucesso
{
"url": "https://pagamento.gsurfnet.com/link/123456"
}#🔴 Erros Comuns
Código | Motivo |
|---|---|
400 | Requisição inválida (parâmetros ausentes ou incorretos). |
401 | Token de autenticação inválido ou expirado. |
403 | Permissão negada para a ação solicitada. |
404 | Recurso não encontrado. |
500 | Erro interno no servidor. |
#🔹 6. Pagamento do Link por Pix
Este endpoint permite realizar o pagamento de um link via Pix.
#📌 Requisição
🛠 Método: POST
🔗 URL:
https://api-hml.gsurfnet.com/gs-payment-ecommerce/v1/payments/link/{link_code}/pix
#6.1 Estrutura da Requisição
#Path Parameters:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | ✅ | Código base64 contendo o identificador do link e do parceiro. |
#Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
#Body (Exemplo JSON):
{
"pix_data": {
"payer": {
"name": "Nome do Pagador",
"document": "12345678900"
}
}
}
#6.2 Parâmetros Importantes
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| object | ✅ | Objeto contendo os dados do pagamento por Pix. |
| object | ✅ | Objeto contendo os dados do pagador. |
#6.3 Respostas Possíveis
#🟢 201 - Sucesso
{
"pix_data": {
"emv": "00020101021126950014BR.GOV.BCB.PIX2573spi.hom.cloud.itau.com.br/documentos/f2bc596c-5ad6-4b8b-9a01-6d11cfcf3d015204000053039865409999900.005802BR5910Neymar CPF6009SAO PAULO626005228rxZbFrWS4uaAW0Rz889AQ50300017BR.GOV.BCB.BRCODE01051.0.06304CF12",
"expiration": 300
},
"payment_data": {
"gti": "ec8cb6ea-265d-463e-8f89-21c632989c2d",
"status": "AUTHORIZED",
"amount": 2000
}
}
#🔴 Erros Comuns
Código | Motivo |
|---|---|
400 | Requisição inválida (parâmetros ausentes ou incorretos). |
401 | Token de autenticação inválido ou expirado. |
403 | Permissão negada para a ação solicitada. |
404 | Recurso não encontrado. |
500 | Erro interno no servidor. |
#🔹 7. Pagamento do Link por Cartão
Este endpoint permite realizar o pagamento de um link via Cartão.
#📌 Requisição
🛠 Método: POST
🔗 URL:
https://api-hml.gsurfnet.com/gs-payment-ecommerce/v1/payments/link/{link_code}/card
#7.1 Estrutura da Requisição
#Path Parameters:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | ✅ | Código base64 contendo o identificador do link e do parceiro. |
#Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
#Body (Exemplo JSON):
{
"transaction_data": {
"payer": {
"name": "Loja Gsurf",
"document": "05643319000159"
},
"card": {
"installments": 12
},
"session_id": "4e84ef0f-ae16-483c-999a-5a42be35219c"
}
}
#7.2 Parâmetros Importantes
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| object | ✅ | Objeto contendo os dados do pagamento por cartão. |
| object | ✅ | Objeto contendo os dados do pagador. |
| integer | ✅ | Quantidade de parcelas da transação. |
| string | ✅ | Identificador da sessão (mín. 36 caracteres). |
#7.3 Respostas Possíveis
#🟢 201 - Sucesso
{
"transaction_data": {
"masked_card": "544828******0007",
"installments": 1,
"authorization_code": "123",
"authorization_time": "2024-07-12T12:00:00Z",
"provider_usn": "123123123123123",
"payer": {
"name": "Loja Gsurf",
"document": "05643319000159"
}
},
"payment_data": {
"gti": "8d561c7d-0dda-4185-bc86-5a78a070b2ca",
"amount": "1000",
"status": "AUTHORIZED"
}
}
#🔴 Erros Comuns
Código | Motivo |
|---|---|
400 | Requisição inválida (parâmetros ausentes ou incorretos). |
401 | Token de autenticação inválido ou expirado. |
403 | Permissão negada para a ação solicitada. |
404 | Recurso não encontrado. |
500 | Erro interno no servidor. |
#🔹 8. Consultar Link de Pagamento para Pagar
Este endpoint permite consultar um link para realizar o pagamento.
#📌 Requisição
🛠 Método: GET
🔗 URL:
https://api-hml.gsurfnet.com/gs-payment-ecommerce/v1/payments/link/{link_code}/to-pay
#8.1 Estrutura da Requisição
#Path Parameters:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | ✅ | Código base64 contendo o identificador do link e do parceiro. |
#Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
#8.2 Respostas Possíveis
#🟢 200 - Sucesso
{
"id": "9873217",
"unique_payment": true,
"allowed_payment_types": ["PIX"],
"status": "ACTIVE",
"creation_time": "2024-07-12T12:00:00Z",
"update_time": "2024-07-12T12:00:00Z",
"card_payment_params": {
"max_installments": 6,
"initial_installment_fees": 0,
"installment_plans": [
{
"installment_value": 21,
"installments": 10,
"final_value": 210,
"has_fee": true
}
]
},
"recurrence_params": {
"time_interval": 1,
"time_unit_interval": "MOUNTH",
"recurrence_times": 12
},
"description": "Pagamento do pedido X",
"expiration": 86400,
"payment_count": 1,
"sale_data": {
"amount": 1000,
"merchant_correlation_id": "06f087a6-6e50-4b76-b71a-ee0ea9de961e",
"order_id": "e44a1288ea1e4410bb8c",
"submerchant_id": "05643319000159"
},
"hook_data": {
"url": "gsurfnet.com/payment/notification",
"credentials_id": "d6f5a1d5-cadd-4d65-a136-c92614f45c40"
},
"split_data": [],
"session_id": "7939c4eb-012d-41a9-8dfc-161a98bc4d6c"
}
#🔴 Erros Comuns
Código | Motivo |
|---|---|
400 | Requisição inválida (parâmetros ausentes ou incorretos). |
401 | Token de autenticação inválido ou expirado. |
403 | Permissão negada para a ação solicitada. |
404 | Recurso não encontrado. |
500 | Erro interno no servidor. |
#🔹 9. Cancelar Link de Pagamento
Este endpoint permite cancelar um link de pagamento.
#📌 Requisição
🛠 Método: PUT
🔗 URL:
https://api-hml.gsurfnet.com/gs-payment-ecommerce/v1/payments/link/{link_id}/cancel
#9.1 Estrutura da Requisição
#Path Parameters:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | ✅ | Identificador do link (36 a 38 caracteres). |
#Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
#9.2 Respostas Possíveis
#🟢 200 - Sucesso
{
"id": "9873217",
"unique_payment": true,
"allowed_payment_types": ["PIX"],
"status": "ACTIVE",
"creation_time": "2024-07-12T12:00:00Z",
"update_time": "2024-07-12T12:00:00Z",
"card_payment_params": {
"max_installments": 6,
"initial_installment_fees": 0,
"installment_plans": [
{
"installment_value": 21,
"installments": 10,
"final_value": 210,
"has_fee": true
}
]
},
"recurrence_params": {
"time_interval": 1,
"time_unit_interval": "MOUNTH",
"recurrence_times": 12
},
"description": "Pagamento do pedido X",
"expiration": 300,
"payment_count": 1,
"sale_data": {
"amount": 1000,
"merchant_correlation_id": "06f087a6-6e50-4b76-b71a-ee0ea9de961e",
"order_id": "e44a1288ea1e4410bb8c",
"submerchant_id": "05643319000159"
}
}
#🔴 Erros Comuns
Código | Motivo |
|---|---|
400 | Requisição inválida (parâmetros ausentes ou incorretos). |
401 | Token de autenticação inválido ou expirado. |
403 | Permissão negada para a ação solicitada. |
404 | Recurso não encontrado. |
500 | Erro interno no servidor. |
#🔹 9. Criação de Link via Portal Lojista


