Pagamento periódico
URL base de solicitação
Copy Ambiente de Teste : https://gateway-test.pagsmile.com
Ambiente de Prod : https://gateway.pagsmile.com
EndPoints
Parâmetros de solicitação (formato JSON)
Exemplo de solicitação
Copy 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)
Retorno (Sucesso)
Copy {
"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)
Copy {
"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.
Copy 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
Copy Ambiente de Teste : https://gateway-test.pagsmile.com
Ambiente de Prod : https://gateway.pagsmile.com
EndPoints
Copy /trade/recurring/cancel
Parâmetros de solicitação (formato JSON)
Exemplo de solicitação
Copy 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)
Retorno (Sucesso)
Copy {
"code": "10000",
"msg": "Success",
"out_trade_no": "{out_trade_no}",
"recurring_status": "CANCEL"
}
Retorno (Falha)
Copy {
"code": "40002",
"msg": "Business Failed",
"sub_code": "invalid-signature",
"sub_msg": "invalid signature"
}