Pagos Recurrentes

Pagos Recurrentes

Request Base URL

  Test Environment : https://gateway-test.pagsmile.com
  Prod Environment : https://gateway.pagsmile.com

EndPoints

  /trade/recurring

Request Header

ParametroRequeridoDescripción

Content-Type

Recomendado

application/json

Authorization

Si

Basic Base64(app_id:security_key)

Request Parámetros (JSON format)

ParametroTipoRequeridoMax extensión(o Valor por defecto)Descripción

app_id

string

si

32

App ID en dashboard

out_trade_no

string

si

64

Dado por el Merchant (en el sistema)

method

string

no

32

Tarjeta de crédito

order_currency

string

si

3

BRL para Brasil

order_amount

decimal

si

0.01 ~ 99999999999999.99

Monto de pago solicitado

subject

string

si

128

Motivo de pago o título de ítem

content

string

no

255

Detalle de motivo de pago o detalle de ítem

trade_type

string

si

WEB

Tipo de contenido del Response, WEB mostrará un checkout URL

timeout_express

string

no

90m

m(minutos), h(horas), d(días), c(día actual)

format

string

no

JSON

Sólo JSON disponible

timestamp

string

si

19

yyyy-MM-dd HH:mm:ss

version

string

si

2.0

Correjir a 2.0

notify_url

string

si

IPN URL al merchant (inicia con http)

return_url

string

no

Página Web devuelve el URL al merchant (inicia con http)

buyer_id

string

recomendado

User ID de merchant

interval

string

si

1M

D(día), W(semana), M(mes), Y(año)

quantity

number

no

0

Cantidad de recurrentes

trial_period

string

no

Período de prueba

trial_amount

decimal

no

> 0

Monto de prueba(cuando trial_amount no esta vacío)

Ejemplo de request

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",
}'

Http Response (formato JSON)

ParametroTipoDescripción

code

string

Return código

msg

string

Return msg

sub_code

string

Return sub código (sólo error)

sub_msg

string

Return sub msg (sólo error)

out_trade_no

string

Request out_trade_no

trade_no

string

Pagsmile NO. de transacción

web_url

string

Checkout URL

Return Code (Exitoso)

{
    "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}"
}

Return Code (Fallido)

{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "invalid-signature",
    "sub_msg": "invalid signature"
}

Notificaciones IPN

Sigue la Guía general de notificaciones IPN para recibir nuestros mensajes de notificación de IPN, mientras tanto, con los sub-pedidos recurrentes, también enviaremos el period de parámetros al período actual específico del 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
  }

Atención!!!

return_url no está en los parámetros de solicitud, si es necesario, simplemente agregue el return_url después de la web_url al redirijir:

http://checkout.pagsmile.com?prepay_id={$prepay_id}

Cancelar Pago Recurrente

Request Base URL

  Test Environment : https://gateway-test.pagsmile.com
  Prod Environment : https://gateway.pagsmile.com

EndPoints

  /trade/recurring/cancel

Request Header

ParametroRequeridoDescripción

Content-type

Recomendado

application/json

Authorization

Si

Basic Base64(app_id:security_key)

Request Parametros (JSON formato)

ParametroTipoRequeridoMax extensión(o Valor por defecto)Descripción

app_id

string

Si

32

App ID en dashboard

timestamp

string

Si

19

yyyy-mm-dd HH:mm:ss

version

string

Si

2.0

Ajustar a 2.0

out_trade_no

string

Si

64

Dado por el Merchant (en el sistema)

Ejemplo de Request

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}}"
}'

Http Response (JSON formato)

ParametroTipoDescripción

code

string

Return código

msg

string

Return msg

sub_code

string

Return sub código(sólo error)

sub_msg

string

Return sub msg(sólo error)

out_trade_no

string

Request out_trade_no

recurring_status

string

Estado Recurrente

Return Code (Exitoso)

{
    "code": "10000",
    "msg": "Success",
    "out_trade_no": "{out_trade_no}",
    "recurring_status": "CANCEL"
}

Return Code (Fallido)

{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "invalid-signature",
    "sub_msg": "invalid signature"
}

Last updated