Pagamento periódicos
Pagamento periódico
URL base de solicitação
Ambiente de Teste : https://gateway-test.pagsmile.com
Ambiente de Prod : https://gateway.pagsmile.com
EndPoints
/trade/recurring
Cabeçalho de solicitação
Content-Type
Recomendado
application/json
Authorization
sim
Basic Base64(app_id:security_key)
Parâmetros de solicitação (formato JSON)
app_id
string
sim
32
App ID do dashboard
out_trade_no
string
sim
64
Dado pelo Comerciante (Está em seu sistema)
method
string
não
32
Cartão de crédito
order_currency
string
sim
3
BRL no Brasil
order_amount
decimal
sim
0.01 ~ 99999999999999.99
Valor do pagamento solicitado
subject
string
sim
128
Motivo do pagamento ou nome do item
content
string
não
255
Detalhe do motivo de pagamento ou detalhe do item.
trade_type
string
sim
WEB
Tipo de conteúdo de resposta, WEB retornará um URL de checkout
timeout_express
string
não
90m
m(minutos), h(horas), d(dias), c(dia atual)
format
string
não
JSON
Somente o JSON suportado
timestamp
string
sim
19
yyyy-MM-dd HH:mm:ss
version
string
sim
2.0
Fix to 2.0
notify_url
string
sim
URL IPN para comerciante(comece com http)
return_url
string
não
URL de retorno da página web para o comerciante ( começa com http)
buyer_id
string
Recomendado
ID do usuário do comerciante
interval
string
sim
1M
D(dia), W(semana), M(mês), Y(ano)
quantity
number
não
0
Quantidade de repetições
trial_period
string
não
Período de teste
trial_amount
decimal
não
> 0
Quantia de teste (quando o valor da trial_amount não estiver em branco)
Exemplo de solicitação
curl --location --request POST 'https://gateway.pagsmile.com/trade/recurring' \
--header 'Authorization: Basic Base64(appid:security_key)' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_id": "app_id",
"content": "content",
"method": "CreditCard",
"notify_url": "notify_url",
"order_amount": 10,
"order_currency": "BRL",
"out_trade_no": "{{$randomUUID}}",
"subject": "subject",
"timeout_express": "1h",
"timestamp": "{{datetime}}",
"trade_type": "WEB",
"version": "2.0",
"interval": "1M",
}'
Resposta Http (formato JSON)
code
string
Return code
msg
string
Return msg
sub_code
string
Return sub code (only error)
sub_msg
string
Return sub msg (only error)
out_trade_no
string
Request out_trade_no
trade_no
string
Pagsmile trade NO.
web_url
string
Checkout URL
Retorno (Sucesso)
{
"code": "10000",
"msg": "Success",
"out_trade_no": "{out_trade_no}",
"trade_no": "{trade_no}",
"web_url": "http://checkout.pagsmile.com?prepay_id={$prepay_id}",
"prepay_id": "{$prepay_id}"
}
Retorno (Falha)
{
"code": "40002",
"msg": "Business Failed",
"sub_code": "invalid-signature",
"sub_msg": "invalid signature"
}
Notificações IPN
Siga o guia geral de notificações IPN para receber nossas mensagens de notificação IPN, enquanto isso, com sub pedidos recorrentes, também enviaremos o parâmetro period
para o período específico atual do pedido.
Content-Type: application/json
Method: POST
Header: Pagsmile-Signature
Body:
{
"amount":"",
"out_trade_no":"",
"method":"",
"trade_status":"",
"trade_no":"",
"currency":"",
"out_request_no":"",
"app_id":"",
"timestamp":"",
"user":{
"identify":{
"number":"",
"type":""
},
"phone":"",
"email":""
},
"card":{
"card_no":"F6L4"
},
"period": 1
}
Atenção!!!
return_url não está nos parâmetros de solicitação, se necessário, basta anexar o return_url após o web_url ao redirecionar:
http://checkout.pagsmile.com?prepay_id={$prepay_id}
Cancelar pagamento periódico
URL base de solicitação
Ambiente de Teste : https://gateway-test.pagsmile.com
Ambiente de Prod : https://gateway.pagsmile.com
EndPoints
/trade/recurring/cancel
Cabeçalho de solicitação
Content-Type
Recomendado
application/json
Authorization
Sim
Basic Base64(app_id:security_key)
Parâmetros de solicitação (formato JSON)
app_id
string
sim
32
App ID do dashboard
timestamp
string
sim
19
yyyy-mm-dd HH:mm:ss
version
string
sim
2.0
fix to 2.0
out_trade_no
string
sim
64
Dado pelo Comerciante (Está em seu sistema)
Exemplo de solicitação
curl --location --request POST 'https://gateway.pagsmile.com/trade/recurring/cancel' \
--header 'Authorization: Basic Base64(appid:security_key)' \
--header 'Content-Type: application/json' \
--data-raw '{
"app_id": "app_id",
"timestamp": "{{datetime}}",
"version": "2.0",
"out_trade_no": "{{$randomUUID}}"
}'
Resposta Http (formato JSON)
code
string
Return code
msg
string
Return msg
sub_code
string
Return sub code(only error)
sub_msg
string
Return sub msg(only error)
out_trade_no
string
Request out_trade_no
recurring_status
string
Recurring status
Retorno (Sucesso)
{
"code": "10000",
"msg": "Success",
"out_trade_no": "{out_trade_no}",
"recurring_status": "CANCEL"
}
Retorno (Falha)
{
"code": "40002",
"msg": "Business Failed",
"sub_code": "invalid-signature",
"sub_msg": "invalid signature"
}
Last updated