Criar e pagar com SDWO

Esse guia descreve como criar e pagar um pedido para carteiras digitais escalonadas (SDWO), sendo possível realizar esses pedidos nas modalidades de purchase (compra simultânea) ou cashin (recarga de carteira).

Cadastros junto as bandeiras

É importante pontuar que para utilizar SDWO é obrigatório ter um cadastro junto as bandeiras, correlacionando carteiras e adquirente. Clientes que já integram em outros adquirentes necessitam realizar um novo cadastro para integrar com o Pagbank, entre em contato com suporte Pagbank e tenha mais informações.

Crie o pedido

De posse dos dados do cartão e do pedido, você pode criar o pedido utilizando o endpoint Criar pedido.

Para realizar a requisição ao endpoint Criar pedido, você precisa fornecer no corpo da requisição os dados descritos no Objeto Order. Os dados do pagamento devem ser adicionados ao objeto charge. A página Objeto Charge descreve em detalhes cada um dos parâmetros que devem ser incluídos.

Para transações de DWO se faz necessário o envio do objeto dwo e seus respectivos sub-objetos, que podem sofrer impactos conforme o tipo de transação.

ParâmetroDescrição
charges.dwo.typeTipo de carteira, para esse tipo de transação sempre será "STAGED_DIGITAL_WALLET"
charges.dwo.cash_inTrue ou False conforme regras citadas nas particularidades.
charges.dwo.mccDeverá ser enviado conforme regras citadas nas particularidades.
charges.dwo.tax_idDocumento de identificação do portador da carteira (CPF ou CNPJ).
charges.dwo.sub_merchant.idId do Sub_Merchant no cadastro da Carteira.
charges.dwo.sub_merchant.nameNome do Sub_Merchant no cadastro da Carteira.
charges.dwo.sub_merchant.addressObjeto com os dados do endereço do subcomerciante.
charges.dwo.submerchant.phonesObjeto com os dados do endereço do subcomerciante.

Os dados do cartão utilizado no pagamento devem ser adicionados ao objeto

charges.payment_method. Você deve identificar o meio de pagamento através do parâmetro charges.payment_method.type com o valor CREDIT_CARD.

Abaixo você encontra um exemplo de requisição e resposta ao endpoint Criar pedido.

Exemplo de Purchase

Para transações de purchase é obrigatório o envio de dados do sub-merchant onde a compra será realizada, também é obrigatório o envio do mcc vinculado ao sub-lojista e o tipo que será identificado pelo campo cash_in como False para esse tipo de transação.

curl --location --request POST 'https: //sandbox.api.pagseguro.com/orders' \
--header 'Authorization: Bearer {
  {token
  }
}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "reference_id": "ex-00001",
  "customer": {
    "name": "Jose da Silva",
    "email": "[email protected]",
    "tax_id": "12345678909",
    "phones": [
      {
        "country": "55",
        "area": "11",
        "number": "999999999",
        "type": "MOBILE"
      }
    ]
  },
  "items": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 500
    }
  ],
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "notification_urls": [
    "https://meusite.com/notificacoes"
  ],
  "charges": [
    {
      "reference_id": "ex-00001",
      "description": "motivo da cobrança",
      "amount": {
        "value": 10526,
        "currency": "BRL"
      },
      "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 2,
        "capture": true,
        "card": {
          "store": true,
          "number": "4111111111111111",
          "exp_month": "03",
          "exp_year": "2026",
          "security_code": "123",
          "holder": {
            "name": "Jose da Silva"
          }
        }
      },
      "dwo": {
        "type": "STAGED_DIGITAL_WALLET",
        "mcc": "1234",
        "tax_id": "42167200803",
        "cash_in": false,
        "sub_merchant": {
          "id": "123",
          "name": "abc",
          "address": {
            "postal_code": "99054440",
            "street": "SUB RUA HELENA PS4",
            "number": "127",
            "city": "SAO PAULO",
            "region_code": "SP",
            "region": "Sao Paulo",
            "country": "BRA",
            "complement": "Apto 16",
            "locality": "Pinheiros"
          },
          "phones": [
            {
              "country": "55",
              "area": "11",
              "number": "965438314",
              "type": "MOBILE"
            }
          ]
        }
      },
      "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
      ]
    }
  ]
}'
{
  "id": "ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD",
  "reference_id": "ex-00001",
  "created_at": "2023-02-08T17:44:34.959-03:00",
  "customer": {
    "name": "Jose da Silva",
    "email": "[email protected]",
    "tax_id": "12345678909",
    "phones": [
      {
        "type": "MOBILE",
        "country": "55",
        "area": "11",
        "number": "999999999"
      }
    ]
  },
  "items": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 500
    }
  ],
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "charges": [
    {
      "id": "CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE",
      "reference_id": "ex-00001",
      "status": "DECLINED",
      "created_at": "2023-08-25T11:08:52.900-03:00",
      "description": "motivo da cobrança",
      "amount": {
        "value": 10526,
        "currency": "BRL",
        "summary": {
          "total": 10526,
          "paid": 0,
          "refunded": 0
        }
      },
      "payment_response": {
        "code": "10003",
        "message": "TRANSACAO INVALIDA - NAO TENTE NOVAMENTE"
      },
      "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 2,
        "capture": false,
        "card": {
          "id": "CARD_495F7673-E200-468C-9AD7-50017BCC81A9",
          "brand": "visa",
          "first_digits": "411111",
          "last_digits": "1111",
          "exp_month": "3",
          "exp_year": "2026",
          "holder": {
            "name": "Jose da Silva"
          },
          "store": true
        },
        "soft_descriptor": "khaba-585"
      },
      "dwo": {
        "type": "STAGED_DIGITAL_WALLET",
        "cash_in": false,
        "mcc": "1234",
        "tax_id": "42167200803",
        "sub_merchant": {
          "id": "123",
          "name": "abc",
          "address": {
            "postal_code": "99054440",
            "street": "SUB RUA HELENA PS4",
            "number": "127",
            "city": "SAO PAULO",
            "region_code": "SP",
            "region": "Sao Paulo",
            "country": "BRA",
            "complement": "Apto 16",
            "locality": "Pinheiros"
          },
          "phones": [
            {
              "country": "55",
              "area": "11",
              "number": "965438314",
              "type": "MOBILE"
            }
          ]
        }
      },
      "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
      ],
      "links": [
        {
          "rel": "SELF",
          "href": "http://localhost:8081/charges/CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE",
          "media": "application/json",
          "type": "GET"
        },
        {
          "rel": "CHARGE.CANCEL",
          "href": "http://localhost:8081/charges/CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE/cancel",
          "media": "application/json",
          "type": "POST"
        }
      ]
    }
  ],
  "notification_urls": [
    "https://meusite.com/notificacoes"
  ],
  "links": [
    {
      "rel": "SELF",
      "href": "https://sandbox.api.pagseguro.com/orders/ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD",
      "media": "application/json",
      "type": "GET"
    },
    {
      "rel": "PAY",
      "href": "https://sandbox.api.pagseguro.com/orders/ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD/pay",
      "media": "application/json",
      "type": "POST"
    }
  ]
}

Exemplo de Cashin

Para transações de cashin não devem ser enviados os dados de sub-merchant, uma vez que a transação será realizada para a própria carteira, porém é obrigatório enviar o campo cash_in como True e o código mcc conforme regras abaixo:

Mastercard: Para a bandeira Mastercard o MCC de cashin é o 6051

Visa: Para a bandeira visa o MCC de cashin é o 6051

Elo: O mcc de cashin será o 6051 a partir de 13 de Outubro de 2023, até essa data deverá ser enviado o 6540

curl --location --request POST 'https: //sandbox.api.pagseguro.com/orders' \
--header 'Authorization: Bearer {
  {token
  }
}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "reference_id": "ex-00001",
  "customer": {
    "name": "Jose da Silva",
    "email": "[email protected]",
    "tax_id": "12345678909",
    "phones": [
      {
        "country": "55",
        "area": "11",
        "number": "999999999",
        "type": "MOBILE"
      }
    ]
  },
  "items": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 500
    }
  ],
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "notification_urls": [
    "https://meusite.com/notificacoes"
  ],
  "charges": [
    {
      "reference_id": "ex-00001",
      "description": "motivo da cobrança",
      "amount": {
        "value": 10526,
        "currency": "BRL"
      },
      "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 2,
        "capture": true,
        "card": {
          "store": true,
          "number": "4111111111111111",
          "exp_month": "03",
          "exp_year": "2026",
          "security_code": "123",
          "holder": {
            "name": "Jose da Silva"
          }
        }
      },
      "dwo": {
        "type": "STAGED_DIGITAL_WALLET",
        "mcc": "6051",
        "tax_id": "42167200803",
        "cash_in": true
        }
      },
      "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
      ]
    }
  ]
}'
{
  "id": "ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD",
  "reference_id": "ex-00001",
  "created_at": "2023-02-08T17:44:34.959-03:00",
  "customer": {
    "name": "Jose da Silva",
    "email": "[email protected]",
    "tax_id": "12345678909",
    "phones": [
      {
        "type": "MOBILE",
        "country": "55",
        "area": "11",
        "number": "999999999"
      }
    ]
  },
  "items": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 500
    }
  ],
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "charges": [
    {
      "id": "CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE",
      "reference_id": "ex-00001",
      "status": "DECLINED",
      "created_at": "2023-08-25T11:08:52.900-03:00",
      "description": "motivo da cobrança",
      "amount": {
        "value": 10526,
        "currency": "BRL",
        "summary": {
          "total": 10526,
          "paid": 0,
          "refunded": 0
        }
      },
      "payment_response": {
        "code": "10003",
        "message": "TRANSACAO INVALIDA - NAO TENTE NOVAMENTE"
      },
      "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 2,
        "capture": false,
        "card": {
          "id": "CARD_495F7673-E200-468C-9AD7-50017BCC81A9",
          "brand": "visa",
          "first_digits": "411111",
          "last_digits": "1111",
          "exp_month": "3",
          "exp_year": "2026",
          "holder": {
            "name": "Jose da Silva"
          },
          "store": true
        },
        "soft_descriptor": "khaba-585"
      },
      "dwo": {
        "type": "STAGED_DIGITAL_WALLET",
        "cash_in": true,
        "mcc": "6051",
        "tax_id": "42167200803"
        }
      },
      "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
      ],
      "links": [
        {
          "rel": "SELF",
          "href": "http://localhost:8081/charges/CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE",
          "media": "application/json",
          "type": "GET"
        },
        {
          "rel": "CHARGE.CANCEL",
          "href": "http://localhost:8081/charges/CHAR_FE98711C-8BB9-416C-A943-536F32C5CAAE/cancel",
          "media": "application/json",
          "type": "POST"
        }
      ]
    }
  ],
  "notification_urls": [
    "https://meusite.com/notificacoes"
  ],
  "links": [
    {
      "rel": "SELF",
      "href": "https://sandbox.api.pagseguro.com/orders/ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD",
      "media": "application/json",
      "type": "GET"
    },
    {
      "rel": "PAY",
      "href": "https://sandbox.api.pagseguro.com/orders/ORDE_3F3EA44E-6A82-4D52-BC23-94DF2096A1FD/pay",
      "media": "application/json",
      "type": "POST"
    }
  ]
}