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

ParâmetroObrigatórioDescrição

Content-Type

Recomendado

application/json

Authorization

sim

Basic Base64(app_id:security_key)

Parâmetros de solicitação (formato JSON)

ParâmetroTipoObrigatórioMax Length(or Default Value)Descrição

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)

ParâmetroTipoDescrição

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

ParâmetroObrigatórioDescrição

Content-Type

Recomendado

application/json

Authorization

Sim

Basic Base64(app_id:security_key)

Parâmetros de solicitação (formato JSON)

ParâmetroTipoObrigatórioComprimento máximo(ou valor padrão)Descrição

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)

ParâmetroTipoDescrição

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