Integração direta

API de Pagamento direto

Base URL

  Ambiente de Teste : https://gateway-test.pagsmile.com
  Ambiente de Prod : https://gateway.pagsmile.com

EndPoints

  /trade/pay

Cabeçalho de solicitação

ParâmetroObrigatórioDescrição

Content-Type

recomendado

application/json

Authorization

sim

Basic Base64(app_id:security_key)

Corpo da solicitação (formato JSON)

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

app_id

string

sim

32

App Id criado no dashboard

timestamp

string

sim

19

yyyy-MM-dd HH:mm:ss

out_trade_no

string

sim

64

ID dada pelo comerciante em seu sistema

method

string

não

32

channel

string

não

32

sub-canal (usar somente no método 'Carteira')

order_currency

string

sim

3

BRL para Brasil

order_amount

decimal

sim

0.01 ~ 99999999999999.99

valor da solicitação de pagamento

subject

string

sim

128

motivo do pagamento ou nome do item

content

string

sim

255

Detalhe do motivo de pagamento ou detalhe do item. Isto será mostrado na conta bancária.

notify_url

string

sim

URL IPN para comerciante(comece com http)

buyer_id

string

sim

ID do usuário do comerciante

timeout_express

string

não

90m

m(minutos), h(horas), d(dias), c(termina no dia atual)

token

string

não

fingerprint

string

não

issuer

string

não

emissor de cartões de crédito(necessário para cartão de crédito)

installments

integer

não

1

parcelas para cartão de crédito

bank

string

não

código bancário, necessário para Depósito Expresso (itau,santander,bradesco,banco-do-brasil,caixa) Dinheiro (Use bank_id da Lista de Bancos); Transferência bancária(Use bank_id da Lista de Bancos); Khipu (Use bank_id da Lista de Bancos);

language_code

string

não

language code, necessário for Dinheiro, Transferência bancária. (Use language_code da Lista de Bancos Suportados)

customer.name

string

sim

nome do usuário

customer.email

string

sim

email do usuário

customer.phone

string

sim

telefone do usuário

customer.identify.number

string

sim

ID do usuário

customer.identify.type

string

sim

tipo de do usuário

address.zip_code

string

sim

CEP

address.state

string

sim

estado

address.city

string

sim

cidade

address.street_number

string

sim

street1 number

address.street

string

sim

street1

address.neighborhood

string

não

street2

user_ip

string

não

endereço IP do usuário(necessário para cartão de crédito)

website_url

string

não

128

URL do site do comerciante

Exemplo de Solicitação

curl --location --request POST 'https://gateway.pagsmile.com/trade/create' \
--header 'Authorization: Basic Base64(appid:security_key)' \
--header 'Content-Type: application/json' \
--data-raw '{
    "app_id": "app_id",
    "content": "content",
    "method": "Boleto",
    "notify_url": "notify_url",
    "order_amount": 10,
    "order_currency": "BRL",
    "out_trade_no": "{{$randomUUID}}",
    "subject": "subject",
    "timeout_express": "1h",
    "timestamp": "{{datetime}}",
    "customer": {
      "name": "name",
      "email": "email",
	  "phone": "phone",
	  "identify": {
		"number":"number",
		"type":"type“,
	  }
      ...
    },
    "address": {
      "zip_code": "84043450",
      "state": "Parana",
      "city": "Ponta Grossa",
      "street"; "Colônia Dona Luíza",
      "street_number": "18",
    },
    "user_ip": "127.0.0.1"
}'

Resposta Http (formato JSON)

ParameterTipoDescriçã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.

trade_status

string

pay_url

string

pay URL; somente em Boleto、Lotérica、Deposito Expresso

barcode

string

código de barras do Boleto;somente em Boleto

qr_code

string

somente em PIX

provider_owner

string

informações bancárias: proprietário da conta; somente em Deposito Express

provider_owner_document

string

informações bancárias: documento do proprietário da conta; somente em Deposito Expresso

provider_agency

string

informações bancárias : agência da conta; somente em Deposito Expresso

provider_number

string

informações bancárias : número da conta; somente em Deposito Expresso

bank_name

string

informações bancárias : nome do banco; somente em Deposito Expresso

wallet_url

string

somente na carteira

app_link_url

string

somente na carteira (para uso em APP)

Retorno (Sucesso)

{
    "code": "10000",
    "msg": "Success",
    "out_trade_no": "{out_trade_no}",
    "trade_no": "{trade_no}",
    "trade_status": "PROCESSING",
    "pay_url": "https://checkout-testv2.pagsmile.com/checkout?prepay_id=XX",
    "barcode": "{barcode}",
    "qr_code": "{qr_code}",
    "provider_owner": "{provider_owner}",
    "provider_owner_document": "{provider_owner_document}",
    "provider_agency": "{provider_agency}",
    "provider_number": "{provider_number}",
    "wallet_url": "{wallet_url}",
    "app_link_url": "{app_link_url}"
}

Retorno (Falhou)

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

Atenção

Return_url não é necessário nos parâmetros de solicitação, você também pode anexar o return_url após o web_url ao redirecionar:

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

↓↓↓

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

Last updated