Acesse o novo portal de desenvolvedores E-commerce docs.cielo.com.br.
Atenção: O conteúdo desta página está sendo descontinuado e não receberá atualizações a partir de 14/08/2024. Visite a nova documentação em docs.cielo.br.
E-wallets são cofres (repositórios) de cartões e dados de pagamento destinados a consumidores do e-commerce e do mundo físico. As carteiras digitais permitem que um consumidor realize o cadastro de seus dados de pagamento, tornando o processo de compra mais conveniente e seguro.
Entre em contato com o provedor de sua preferência para maiores informações sobre como contratar o serviço.
O Pagador possui suporte para as seguintes carteiras digitais:
Bandeiras aceitas pelas wallets
Para saber as bandeiras de cartão aceitas, visite o site de cada carteira:
GooglePay
ApplePay
SamsungPay
PayPal
A requisição de autorização com o meio de pagamento e-wallet pode acontecer de duas formas:
Wallet
, o campo WalletKey
(usado pela Cielo para descriptografar os dados das e-wallets) e tokens adicionais de acordo com cada e-wallet. Esse tipo de integração é indicado para estabelecimentos que não possuem certificação PCI DSS;Wallet
e a própria loja descriptografa os dados do cartão e submete os dados de forma aberta na autorização. Esse tipo de integração é indicado para estabelecimentos com certificação PCI DSS.Veja abaixo a representação de um fluxo transacional padrão na integração de uma e-wallet com cartão criptografado:
A seguir, um exemplo de requisição padrão para integração da e-wallet com cartão criptografado:
{
"MerchantOrderId": "2014111708",
"Customer": {
"Name": "Exemplo Wallet Padrão",
"Identity": "11225468954",
"IdentityType": "CPF"
},
"Payment": {
"Type": "CreditCard",
"Amount": 100,
"Provider": "Cielo",
"Installments": 1,
"Currency": "BRL",
"Capture": "false",
"Wallet": {
"Type": "TIPO DE WALLET",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"AdditionalData": {
"EphemeralPublicKey": "TOKEN INFORMADO PELA WALLET"
}
}
}
}
--request POST "https://apisandbox.braspag.com.br/v2/sales/"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--header "MerchantKey: 0123456789012345678901234567890123456789"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
"MerchantOrderId": "2014111708",
"Customer": {
"Name": "Exemplo Wallet Padrão",
"Identity": "11225468954",
"IdentityType": "CPF"
},
"Payment": {
"Type": "CreditCard",
"Amount": 100,
"Provider": "Cielo",
"Installments": 1,
"Currency": "BRL",
"Capture": "false",
"Wallet": {
"Type": "TIPO DE WALLET",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"AdditionalData": {
"EphemeralPublicKey": "TOKEN INFORMADO PELA WALLET"
}
}
}
}
Propriedade | Descrição | Tipo | Tamanho | Obrigatório? |
---|---|---|---|---|
MerchantId |
Identificador da loja na Braspag. | GUID | 36 | Sim (envio no header) |
MerchantKey |
Chave pública para autenticação dupla na Braspag. | Texto | 40 | Sim (envio no header) |
RequestId |
Identificador do request, utilizado quando o lojista usa diferentes servidores para cada GET/POST/PUT. | GUID | 36 | Não (envio no header) |
MerchantOrderId |
Número de identificação do pedido. | Texto | 50 | Sim |
Customer.Name |
Nome do comprador. | Texto | 255 | Não |
Customer.Status |
Status de cadastro do comprador na loja (“NEW” / “EXISTING”). | Texto | 255 | Não |
Payment.Type |
Tipo do meio de pagamento. | Texto | 100 | Sim |
Payment.Amount |
Valor do pedido, em centavos. | Número | 15 | Sim |
Payment.Provider |
Nome do provedor do meio de pagamento. Obs.: Disponível somente para providers Cielo (Cielo e Cielo30). | Texto | 15 | Sim |
Payment.Installments |
Número de parcelas. | Número | 2 | Sim |
Payment.Capture |
Indica se a autorização deve ser com captura automática (“true”) ou não (“false”). Se “false”, será necessário realizar a captura posterior. | Booleano | - | Não (default “false”) |
Wallet.Type |
Tipo de carteira: “ApplePay” / “SamsungPay” / “GooglePay”. | Texto | – | Sim |
Wallet.WalletKey |
Chave criptográfica que identifica lojas nas wallets. Consultar a tabela WalletKey para mais informações. | Texto | – | Sim |
Wallet.AdditionalData.EphemeralPublicKey |
Token retornado pela wallet. Deve ser enviado em integrações ApplePay. | Texto | – | Sim |
Wallet.AdditionalData.Signature |
Token retornado pela wallet. Deve ser enviado em integrações GooglePay. | Texto | – | Sim |
WalletKey é o identificador utilizado pela Braspag para descriptografar payloads retornados pela wallet.
Seguem os formatos de WalletKey
a serem repassados ao Pagador API:
Carteira | Exemplo | |
---|---|---|
Apple Pay | 9zcCAciwoTS+qBx8jWb++64eHT2QZTWBs6qMVJ0GO+AqpcDVkxGPNpOR/D1bv5AZ62+5lKvucati0+eu7hdilwUYT3n5swkHuIzX2KO80Apx/ SkhoVM5dqgyKrak5VD2/drcGh9xqEanWkyd7wl200sYj4QUMbeLhyaY7bCdnnpKDJgpOY6J883fX3TiHoZorb/QlEEOpvYcbcFYs3ELZ7QVtjxyr O2LmPsIkz2BgNm5f+JaJUSAOectahgLZnZR+easdhghrsa/E9A6DwjMd0fDYnxjj0bQDfaZpBPeGGPFLu5YYn1IDc |
|
Samsung Pay | eyJhbGciOiJSU0ExXzUiLCJraWQiOiIvam1iMU9PL2hHdFRVSWxHNFpxY2VYclVEbmFOUFV1ZUR5M2FWeHBzYXVRPS IsInR5cCI6IkpPU0UiLCJjaGFubmVsU2VjdXJpdHlDb250ZXh0IjoiUlNBX1BLSSIsImVuYyI6IkExMjhHQ00ifQ.cCsGbqgFdzVb1jhXNR –gApzoXH-fdafddfa-Bo_utsmDN_DuGm69Kk2_nh6txa7ML9PCI59LFfOMniAf7ZwoZUBDCY7Oh8kx3wsZ0kxNBwfy LBCMEYzET0qcIYxePezQpkNcaZ4oogmdNSpYY-KbZGMcWpo1DKhWphDVp0lZcLxA6Q25K78e5AtarR5whN4HUAkurQ.CFjWpHkAVoLCG8q0.NcsTuauebemJXmos_mLMTyLhEHL- p5Wv6J88WkgzyjAt_DW7laiPMYw2sqRXkOiMJLwhifRzbSp8ZgJBM25IX05dKKSS4XfFjJQQjOBHw6PYtEF5pUDMLHML3jcddCrX07abfef_DuP41PqOQYsjwesLZ8XsRj- R0TH4diOZ_GQop8_oawjRIo9eJr9Wbtho0h8kAzHYpfuhamOPT718EaGAY6SSrR7t6nBkzGNkrKAmHkC7aRwe.AbZG53wRqgF0XRG3wUK_UQ |
|
Google Pay | {“encryptedMessage”:”0mXBb94Cy9JZhMuwtrBhMjXb8pDslrNsN5KhcEqnowOINqJgjXHD36KcCuzpQQ4cDAe64ZLmk2N3UBGXsN9hMMyeMakXlidVmteE +QMaNZIor048oJqlUIFPD54B/ic8zCdqq3xnefUmyKQe0I03x57TcEA9xAT/E4x3rYfyqLFUAEtu2lT0GwTdwgrsT8pKoTldHIgP+wVNTjrKvJrB4xM/Bhn6JfcSmOzFyI6w37 mBU71/TK761nYOSxt7z1bNWSLZ4b8xBu1dlRgen2BSlqdafuQjV3UZjr6ubSvaJ8NiCh5FD/X013kAwLuLALMS2uAFS9j8cZ6R6zNIi13fK6Fe4ACbFTHw LzSNZjQiaRDb6MlMnY8/amncPIOXzpirb5ScIz8EZUL05xd+3YWVTVfpqgFo1eaaS+wZdUyRG0QEgOsr6eLBoH8d5lfV9Rx6XdioorUuT7s1Yqc0OJZO +fhBt6X0izE9hBGTexdZyg\u003d\u003d”,”ephemeralPublicKey”:”BMdwrkJeEgCOtLevYsN3MbdP8xbOItXiTejoB6vXy0Kn0ZM10jy4Aasd6jTSxtoxo TpFydLhj5kzoOhbw2OzZu0\u003d”,”tag”:”yAQIjWZ0VuCC7SWyYwc4eXOzpSUKhZduF9ip0Ji+Gj8\u003d”} |
Formato de EphemeralPublicKey
que deve ser repassado ao Pagador API:
Carteira | Exemplo |
---|---|
Apple Pay | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoedz1NqI6hs9hEO6dBsnn0X0xp5/DKj3gXirjEqxNIJ8JyhGxVB3ITd0E+6uG4W6Evt+kugG8gOhCBrdUU6JwQ== |
Formato de Signature
que deve ser repassado ao Pagador API:
Carteira | Exemplo |
---|---|
Google Pay | MEUCIQCGQLOmwxe5eFMSuTcr4EcwSZu35fB0KlCWcVop6ZxxhgIgbdtNHThSlynOopfxMIxkDs0cLh2NFh5es+J5uDmaViA\u003d |
{
"MerchantOrderId": "2014111703",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "BJORN IRONSIDE",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "TIPO DE WALLET",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"Eci": 0,
"AdditionalData": {
"EphemeralPublicKey": "TOKEN INFORMADO PELA WALLET"
},
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": 1,
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/void"
}
]
}
}
--header "Content-Type: application/json"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
"MerchantOrderId": "2014111703",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "BJORN IRONSIDE",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "TIPO DE WALLET",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"Eci": 0,
"AdditionalData": {
"EphemeralPublicKey": "TOKEN INFORMADO PELA WALLET"
},
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": 1,
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/void"
}
]
}
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
ProofOfSale |
Número da autorização, idêntico ao NSU. | Texto | 6 | Texto alfanumérico |
Tid |
Id da transação na adquirente. | Texto | 20 | Texto alfanumérico |
AuthorizationCode |
Código de autorização. | Texto | 6 | Texto alfanumérico |
SoftDescriptor |
Texto que será impresso na fatura bancária do portador. Disponível apenas para VISA/MASTER - não permite caracteres especiais. | Texto | 13 | Texto alfanumérico |
PaymentId |
Campo identificador do pedido. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ECI |
Electronic Commerce Indicator. Representa o quão segura é uma transação. | Texto | 2 | Ex.: 7 |
Status |
Status da transação. | Byte | 2 | Ex.: 1 |
ReturnCode |
Código de retorno da adquirência. | Texto | 32 | Texto alfanumérico |
ReturnMessage |
Mensagem de retorno da adquirência. | Texto | – | Texto alfanumérico |
Type |
Tipo de carteira: “ApplePay” / “SamsungPay” / “GooglePay”. | Texto | – | Texto alfanumérico |
WalletKey |
Chave criptográfica que identifica lojas nas wallets. Consulte a tabela WalletKey para mais informações. | Texto | – | Ver tabela WalletKey |
AdditionalData.EphemeralPublicKey |
Token retornado pela wallet. Deve ser enviado em Integrações: “ApplePay”. | Texto | – | Ver tabela EphemeralPublicKey |
AdditionalData.Signature |
Token retornado pela wallet. Deve ser enviado em Integrações: “GooglePay”. | Texto | – | Ver tabela Signature |
A autorização com cartão descriptografado acontece quando a própria loja descriptografa o payload recebido da wallet e envia por conta própria para a API do Pagador para processamento e autorização. Nesse cenário, envie para autorização o modelo de requisição a seguir:
-- Envio de cartão
{
"MerchantOrderId": "6242-642-723",
"Customer": {
"Name": "Guilherme Gama",
"Identity": "11225468954",
"IdentityType": "CPF"
},
"Payment": {
"Type": "CreditCard",
"Amount": 1100,
"Provider": "Cielo",
"Installments": 1,
"CreditCard": {
"CardNumber":"4532********6521",
"Holder":"Guilherme Gama",
"ExpirationDate":"12/2021",
"SecurityCode":"123",
"Brand":"Master"
},
"Wallet": {
"Type": "Tipo de wallet",
"Eci":"7",
"Cavv":"AM1mbqehL24XAAa0J04CAoABFA=="
}
}
}
--request POST "https://apisandbox.braspag.com.br/v2/sales/"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--header "MerchantKey: 0123456789012345678901234567890123456789"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
-- Envio de cartão
{
"MerchantOrderId": "6242-642-723",
"Customer": {
"Name": "Guilherme Gama",
"Identity": "11225468954",
"IdentityType": "CPF"
},
"Payment": {
"Type": "CreditCard",
"Amount": 1100,
"Provider": "Cielo",
"Installments": 1,
"CreditCard": {
"CardNumber":"4532********6521",
"Holder":"Guilherme Gama",
"ExpirationDate":"12/2021",
"SecurityCode":"123",
"Brand":"Master"
},
"Wallet": {
"Type": "Tipo de wallet",
"Eci":"7",
"Cavv":"AM1mbqehL24XAAa0J04CAoABFA=="
},
}
}
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
MerchantId |
Guid | 36 | Sim | Identificador da loja na Cielo. |
MerchantKey |
Texto | 40 | Sim | Chave Pública para Autenticação Dupla na Cielo. |
RequestId |
Guid | 36 | Não | Identificador do Request, utilizado quando o lojista usa diferentes servidores para cada GET/POST/PUT. |
MerchantOrderId |
Texto | 50 | Sim | Número de identificação do pedido. |
Customer.Name |
Texto | 255 | Não | Nome do comprador. |
Customer.Status |
Texto | 255 | Não | Status de cadastro do comprador na loja (NEW / EXISTING) |
Payment.Type |
Texto | 100 | Sim | Tipo do Meio de Pagamento. |
Payment.Amount |
Número | 15 | Sim | Valor do Pedido (ser enviado em centavos). |
Payment.Installments |
Número | 2 | Sim | Número de Parcelas. |
CreditCard.CardNumber. |
Texto | 19 | Sim | Número do Cartão do Comprador |
CreditCard.SecurityCode |
Texto | 4 | Não | Código de segurança impresso no verso do cartão - Ver Anexo. |
CreditCard.Brand |
Texto | 10 | Sim | Bandeira do cartão (Visa / Master / Amex / Elo / Aura / JCB / Diners / Discover / Hipercard). |
Wallet.Type |
Texto | 255 | Sim | Indica qual o tipo de carteira: AndroidPay / ApplePay / SamsungPay |
Wallet.Walletkey |
Texto | 255 | Sim | Chave criptografica que identifica lojas nas Wallets - Ver tabela WalletKey para mais informações |
Wallet.Eci |
Texto | 3 | Sim | O ECI (Eletronic Commerce Indicator) representa o quão segura é uma transação. Esse valor deve ser levado em consideração pelo lojista para decidir sobre a captura da transação. |
Wallet.Cavv |
Texto | 255 | Sim | Campo de validação retornado pela Wallet e utilizado como base de autorização |
{
"MerchantOrderId": "2014111703",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "Gama Gama",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "TIPO DE WALLET",
"Eci": 0
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": 1,
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/void"
}
]
}
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
ProofOfSale |
Número da autorização, idêntico ao NSU. | Texto | 6 | Texto alfanumérico |
Tid |
Id da transação na adquirente. | Texto | 20 | Texto alfanumérico |
AuthorizationCode |
Código de autorização. | Texto | 6 | Texto alfanumérico |
SoftDescriptor |
Texto que será impresso na fatura bancária do portador - Disponivel apenas para VISA/MASTER - não permite caracteres especiais | Texto | 13 | Texto alfanumérico |
PaymentId |
Campo Identificador do Pedido. | Guid | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ECI |
Eletronic Commerce Indicator. Representa o quão segura é uma transação. | Texto | 2 | Exemplos: 7 |
Status |
Status da Transação. | Byte | — | 2 |
ReturnCode |
Código de retorno da Adquirência. | Texto | 32 | Texto alfanumérico |
ReturnMessage |
Mensagem de retorno da Adquirência. | Texto | 512 | Texto alfanumérico |
Type |
Indica qual o tipo de carteira: VisaCheckout / Masterpass / ApplePay / SamsungPay |
Texto | 255 | Texto alfanumérico |
Walletkey |
Chave criptografica que identifica lojas nas Wallets - Ver tabela WalletKey para mais informações | Texto | 255 | Ver tabela WalletKey |
AdditionalData.capturecode |
Código informado pela MasterPass ao lojista |
Texto | 255 | 3 |
A seguir, veja alguns exemplos de integração com as principais e-wallets disponíveis no mercado. Os exemplos contemplam o cenário de envio do cartão criptografado, ou seja quando é necessário submeter a WalletKey
e outros identificadores de token na autorização.
Se a sua loja envia a requisição de autorização de e-wallet com dados descriptografados, vá para Cartão descriptografado
O Apple Pay é uma carteira virtual. Ele permite que o comprador realize pagamentos em lojas virtuais e apps utilizando, de forma prática e segura, seus cartões de crédito e débito armazenados em suas contas e dispositivos Apple.
Para utilização do Apple Pay, é necessário que a loja já esteja cadastrada no programa AppleID. Além disso, você deve:
Nesta etapa inicial, você deverá criar um merchant identifier para sua loja. Após criado, o merchant identifier deverá ser enviado à Braspag em solicitação a um certificado “.CSR”. O certificado “.CSR” criado pela Braspag deverá ser utilizado na criação de um novo certificado junto à Apple, o certificado “.CER”, que irá servir no seguimento para a segunda etapa do processo.
A criação do merchant identifier deve ser feita através do Portal de Desenvolvedores da Apple, da seguinte maneira:
(+)
ao lado do título:
Continue
:
Continue
:
Register
:
Para solicitar à Braspag a geração do certificado no formato “.CSR”, entre em contato com o nosso Time de Atendimento e informe:
Nossa equipe irá retornar com o arquivo “.CSR” em até 48 horas úteis.
Para criar um certificado de processamento de pagamento (“.CER”), que será utilizado em sua loja virtual ou aplicativo, é necessário acessar o Portal de Desenvolvedores da Apple e seguir os passos abaixo:
Create Certificate
ao final do texto explicativo:
Choose File
e escolha o certificado “.CSR” enviado pela Braspag:
Continue
:
Download
para baixar o arquivo “.CER”:
Para mais detalhes, acesse a Developer Account Help da Apple.
Boa parte do processo para disponibilização do botão “Pagar com Apple Pay” no seu app ou site será realizado na sua integração junto à wallet. Por isso, recomendamos que siga as orientações disponíveis no site de Documentação da Apple para a implementação, que é totalmente self-service.
Ao final do processo realizado na API da Apple, você receberá um JSON contendo dois campos importantes que deverão ser utilizados na “ETAPA 3”. São os campos paymentData.data
e ephemeralPublicKey.header.EphemeralPublicKey
.
Confira a seguir um exemplo* de JSON que pode ser retornado pela Apple:
{
"applePayData": {
"paymentData": {
"version": "EC_v1",
"data": "as01vRj+n9crY2vome7zc+u7Tz0+qg2La/8IUHpJIjFN6ThhUqLnSrskQHTrEbcYPiMksFK0+ddo9sZu70uJQJH1I+44N6PrVhilNDem97vOXq2VYDXiVJ27F/Q9wGQDgZBeGcZ6Pml9SIelHqUauBcQoOatrlnWPUL8kbdpT8WqgzXyaCh7oeTz=z6++rp/ofjvSjnGtOqAUsnrzvw4uzkcyKUSsfROdJ6B/Xzgu/T9fMIr5UxXD2DPF1SNh3ydEJABKz4HFjDW7ObvbQeua4GYxJdpQLpI3NgUbJy91E/LOyb/+PcCtO+0=a41tBrfnTTF9qsPuCIw8HWIEEKSRofn27NTofxev/i+nHEfqEtqNrN/epIvhzceD/gDiGetfiLKMzf94ARmpWUAMC==",
"signature": "(…)",
"header": {
"ephemeralPublicKey": "MFkwEwZJKoZIzj0CAQYIKo12zj0DAQcDQgAEo+ReGClSmQ4hDJD1yh9nci3V4l7kPm2AQtKZMMvuNS0iK5sn/1A9l3kw1B1xCqOycZmnPSng7p5hpTvrei1BCA==",
"publicKeyHash": "KXN06+BtJu6yEfF9zDhr7f4M/2HwVybnx0FGfC520gB=",
"transactionId": "71c5b61c3791546e94d2b4893a6c69aaac2ab86b5c113c83a7d89057906a9b5f"
}
},
"paymentMethod": {
"displayName": "MasterCard 1212",
"network": "MasterCard",
"type": "credit"
},
"transactionIdentifier": "81C5B61C3791646E94D2B4893A6C69BBBC2AB86B5C363C83A7D89057906A9BAC"
},
"x_document": "24562608994",
"x_name": "João da Silva"
}
*Atenção: O JSON acima é apenas um exemplo.
O campo
Payment.Wallet.WalletKey
na requisição de autorização do Pagador deverá ser preenchido com o valor enviado pela Apple empaymentData.data
.
A autorização com o token do Apple Pay acontece da mesma forma que a autorização padrão de um cartão de crédito. Porém, ao invés de se fornecer os dados do cartão abertamente, deverá ser fornecido o token recebido pelo Apple Pay, conforme o exemplo abaixo:
{
"MerchantOrderId": "2017051002",
"Customer": {
(…)
},
"Payment": {
"Type": "CreditCard",
"Amount": 1000,
"Provider": "Cielo30",
"Installments": 1,
"Currency": "BRL",
"Wallet": {
"Type": "ApplePay",
"WalletKey":"['paymentData.data']",
"AdditionalData": {
"EphemeralPublicKey": "['ephemeralPublicKey.header.EphemeralPublicKey']"
}
}
}
}
Parâmetros do Header | Descrição | Tipo e Tamanho |
---|---|---|
MerchantId |
ID do estabelecimento no Pagador. | GUID (36) |
MerchantKey |
Chave da API para o Pagador. | String (24) |
Parâmetro | Descrição | Tipo e Tamanho |
---|---|---|
MerchantOrderId |
Número de identificação do pedido. | String (50) |
Customer |
Nó com dados do comprador. | Consulte o Manual do Pagador. |
Payment.Type |
Tipo do meio de pagamento. Possibilidades: “CreditCard” / “DebitCard”. | String (100) |
Payment.Amount |
Valor do pedido, em centavos. | Número (15) |
Payment.Provider |
Nome do provedor do meio de pagamento. Para transações Apple Pay, utilize “Cielo30”. | String (15) |
Payment.Installments |
Número de parcelas. | Número (2) |
Payment.Wallet.Type |
Nome do provedor do meio de pagamento. Para transações Apple Pay, utilize “ApplePay”. | String (15) |
Payment.Wallet.WalletKey |
Preencher com o valor do parâmetro paymentData.data retornado pelo Apple Pay. |
String |
Payment.Wallet.AdditionalData.EphemeralPublicKey |
Preencher com o valor do parâmetro ephemeralPublicKey.header.EphemeralPublicKey retornado pelo Apple Pay. |
String |
{
"MerchantOrderId": "2017051002",
"Customer": {(…)
},
"Payment": {
(…)
"CreditCard": {
(…)
},
(…)
"Wallet": {
"Type": "ApplePay",
"WalletKey": "as01vRj+n9crY2vome7zc+u7Tz0+qg2La/8IUHpJIjFN6ThhUqLnSrskQHTrEbcYPiMksFK0+ddo9sZu70uJQJH1I+44N6PrVhilNDem97vOXq2VYDXiVJ27F/Q9wGQDgZBeGcZ6Pml9SIelHqUauBcQoOatrlnWPUL8kbdpT8WqgzXyaCh7oeTz=z6++rp/ofjvSjnGtOqAUsnrzvw4uzkcyKUSsfROdJ6B/Xzgu/T9fMIr5UxXD2DPF1SNh3ydEJABKz4HFjDW7ObvbQeua4GYxJdpQLpI3NgUbJy91E/LOyb/+PcCtO+0=a41tBrfnTTF9qsPuCIw8HWIEEKSRofn27NTofxev/i+nHEfqEtqNrN/epIvhzceD/gDiGetfiLKMzf94ARmpWUAMC==",
"AdditionalData": {
"EphemeralPublicKey": "MFkwEwZJKoZIzj0CAQYIKo12zj0DAQcDQgAEo+ReGClSmQ4hDJD1yh9nci3V4l7kPm2AQtKZMMvuNS0iK5sn/1A9l3kw1B1xCqOycZmnPSng7p5hpTvrei1BCA=="
}
},
(…)
"Links": [
(…)
]
}
}
A resposta de autorização da wallet terá os mesmos campos apresentados em nossa documentação do Pagador, porém com a adição do nó Payment.Wallet
repetindo os mesmos campos utilizados na autorização, como descrito acima.
O Google Pay é uma carteira virtual. Ele permite que os compradores realizem pagamentos em lojas virtuais e apps utilizando, de forma prática e segura, seus cartões de crédito e débito armazenados em suas contas “Google Account” e dispositivos Android.
Para utilização do Google Pay, é necessário que a loja já possua cadastro e integração Google Pay. Além disso, você deve:
Nesta etapa inicial, você deverá configurar seu projeto e implementar o Google Pay em seu aplicativo Android.
Para configurar seu projeto, siga as instruções descritas no Guia de Configuração do Google Pay.
Neste passo, você deverá adicionar dependências importando a biblioteca do Google Play Services ou então escolhendo as APIs que deseja compilar. E então, para ativar o Google Pay no seu aplicativo Android, você deverá modificar o arquivo “AndroidManifest.xml” do seu projeto de acordo com as instruções dadas na página.
Para integrar o Google Pay em seu aplicativo, siga todos os passos indicados no Tutorial de Implementação do Google Pay.
Para a correta integração do Google Pay via Braspag, é necessário se atentar aos pontos abaixo:
No passo “Step 2: Request a payment token for your payment provider”, siga o modelo indicado como “GATEWAY” e atribua o valor “PAYMENT_GATEWAY” ao parâmetro type
e o valor “cielo” ao parâmetro gateway
, conforme o exemplo dado:
private static JSONObject getTokenizationSpecification() {
JSONObject tokenizationSpecification = new JSONObject();
tokenizationSpecification.put("type", "PAYMENT_GATEWAY");
tokenizationSpecification.put(
"parameters",
new JSONObject()
.put("gateway", "cielo")
.put("gatewayMerchantId", "exampleMerchantId"));
return tokenizationSpecification;
}
Preencha o parâmetro gatewayMerchantId
com o identificador de sua loja, gerado pelo gateway. O identificador da loja segue o formato “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” (tipo GUID / tamanho 36).
No passo “Step 3: Define supported payment card networks”, seguir com as bandeiras aceitas: “VISA”, “MASTERCARD”, “AMEX”, “DISCOVER” e “JCB”.
No passo “Step 5: Create a PaymentsClient instance”, utilize o valor “WalletConstants.ENVIRONMENT_TEST” para o ambiente de testes.
No passo “Step 7: Create a PaymentDataRequest object”, utilize o valor “BRL” para o parâmetro currencyCode
. O campo merchantName
é o nome que o comprador visualizará durante o pagamento com Google Pay e recomenda-se, desta forma, colocar-se um nome amigável e reconhecido.
No passo “Step 9: Handle the response object”, está descrito o evento Activity.RESULT_OK
, onde é retornado um objeto com todos os dados referentes ao dados de pagamento, inclusive o token de pagamento.
A partir do PaymentData
, obtém-se o objeto PaymentMethodToken
, através da chamada do método getPaymentMethodToken()
. Clique aqui para mais informações.
Na sequência, deve-se obter a string que contém tokens de pagamento a partir do método GetToken()
do objeto PaymentMethodToken
. Clique aqui para mais informações.
A string obtida no passo anterior possui uma estrutura como a mostrada a seguir. Clique aqui para mais informações.
{
"protocolVersion": "ECv1",
"signature": "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ",
"signedMessage": "{\"encryptedMessage\":
\"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\":
\"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}"
}
Parâmetro | Type | Descrição |
---|---|---|
signedMessage |
string | Mensagem assinada. |
signature |
string | Assinatura da mensagem. |
Guarde os dados signedMessage
e signature
, que serão requisitados na autorização via Pagador da Braspag na ETAPA 2, descrita a seguir.
A autorização com o token do Google Pay acontece da mesma forma que a autorização padrão de um cartão de crédito. Porém, ao invés de se fornecer os dados do cartão abertamente, deverá ser fornecido o token recebido pelo Google Pay, conforme o exemplo abaixo:
{
"MerchantOrderId": "2014111708",
"Customer": {
(…)
},
"Payment": {
"Type": "CreditCard",
"Amount": 100,
"Provider": "Cielo30",
"Installments": 1,
"Wallet": {
"Type": "AndroidPay",
"WalletKey": "{\"encryptedMessage\": \"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\": \"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}",
"AdditionalData": {
"Signature": "ZXBoZW1lcmFsUHVibGljS2V5"
}
}
}
}
Parâmetros do Header | Descrição | Tipo e tamanho |
---|---|---|
MerchantId |
ID do estabelecimento na Cielo 3.0. Para ambiente Sandbox, utilize 63D6ACCB-2734-4236-AB5D-843A9DAC44C7. | GUID (36) |
MerchantKey |
Chave da API para Cielo 3.0. Para ambiente Sandbox, utilize ZCVHDJWKTGOZXADDYJFURIDIKHEMRYQAQDYEJMQK. | String (24) |
Parâmetro | Descrição | Tipo e tamanho |
---|---|---|
MerchantOrderId |
Número de identificação do pedido. | String (50) |
Customer |
Nó com dados do comprador. | Consulte o Manual do Pagador. |
Payment.Type |
Tipo do meio de pagamento. Possibilidades: “CreditCard” / “DebitCard”. | String (100) |
Payment.Amount |
Valor do pedido, em centavos. | Número (15) |
Payment.Provider |
Nome do provedor de meio de pagamento. Para transações Google Pay, utilize “Cielo30”. | String (15) |
Payment.Installments |
Número de parcelas. | Número (2) |
Payment.Wallet.Type |
Nome do provedor de meio de pagamento. Para transações Google Pay, utilize “AndroidPay”. | String (15) |
Payment.Wallet.WalletKey |
Preencher com o valor do parâmetro signedMessage retornado pelo Google Pay. |
String |
Payment.Wallet.AdditionalData.Signature |
Preencher com o valor do parâmetro signature retornado pelo Google Pay. |
String |
Para mais informações, consulte o Manual do Pagador.
A resposta de autorização da wallet terá os mesmos campos apresentados em nossa documentação do Pagador, porém com a adição do nó Payment.Wallet
repetindo os mesmos campos utilizados na autorização, como descrito acima.
Para finalizar o processo, é necessário validar os passos das etapas anteriores e então solicitar as credenciais de acesso para entrar em produção.
Verifique se todas as diretrizes de branding foram seguidas conforme descrito no Guia Diretrizes de Marca.
Verifique se todos os itens do checklist de integração foram atendidos. Após tudo validado, solicite os dados de acesso produtivos.
Abaixo segue o pré-requisito para utilizar o Samsung Pay e também um exemplo de requisição para disponibilizá-lo em sua loja.
Atenção: É necessário que a loja já possua cadastro e integração Samsung Pay, caso contrário não será possível a integração com a API. Para mais informações, consulte a documentação da Samsung Pay.
Exemplo de requisição padrão Samsung Pay:
{
"MerchantOrderId":"6242-642-723",
"Customer":{
"Name":"Exemplo Wallet Padrão",
"Identity":"11225468954",
"IdentityType":"CPF"
},
"Payment":{
"Type":"CreditCard",
"Amount":1,
"Provider":"Cielo",
"Installments":1,
"Currency":"BRL",
"Wallet":{
"Type":"SamsungPay",
"WalletKey":"IDENTIFICADOR DA LOJA NA WALLET"
}
}
}
curl
--request POST "https://apisandbox.braspag.com.br/v2/sales/"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--header "MerchantKey: 0123456789012345678901234567890123456789"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
"MerchantOrderId":"6242-642-723",
"Customer":{
"Name":"Exemplo Wallet Padrão",
"Identity":"11225468954",
"IdentityType":"CPF"
},
"Payment":{
"Type":"CreditCard",
"Amount":1,
"Provider":"Cielo",
"Installments":1,
"Currency":"BRL",
"Wallet":{
"Type":"SamsungPay",
"WalletKey":"IDENTIFICADOR DA LOJA NA WALLET"
}
}
}
Propriedade | Descrição | Tipo | Tamanho | Obrigatório? |
---|---|---|---|---|
MerchantId |
Identificador da loja na Braspag. | GUID | 36 | Sim (envio no header) |
MerchantKey |
Chave pública para autenticação dupla na Braspag. | Texto | 40 | Sim (envio no header) |
RequestId |
Identificador do request, utilizado quando o lojista usa diferentes servidores para cada GET/POST/PUT. | GUID | 36 | Não (envio no header) |
MerchantOrderId |
Número de identificação do pedido. | Texto | 50 | Sim |
Customer.Name |
Nome do comprador. | Texto | 255 | Não |
Customer.Status |
Status de cadastro do comprador na loja (“NEW” / “EXISTING”). | Texto | 255 | Não |
Payment.Type |
Tipo do meio de pagamento. | Texto | 100 | Sim |
Payment.Amount |
Valor do pedido, em centavos. | Número | 15 | Sim |
Payment.Provider |
Nome do provedor do meio de pagamento. Obs.: Disponível somente para providers Cielo (Cielo / Cielo30). | Texto | 15 | Sim |
Payment.Installments |
Número de parcelas. | Número | 2 | Sim |
Wallet.Type |
Tipo de carteira: “ApplePay” / “SamsungPay” / “GooglePay”. | Texto | 255 | Sim |
Wallet.WalletKey |
Chave criptográfica que representa os dados do cartão. Consultar a tabela WalletKey para mais informações. | Texto | 255 | Sim |
{
"MerchantOrderId": "2014111703",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "BJORN IRONSIDE",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "SamsungPay",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"Eci": 0
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": 1,
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/void"
}
]
}
}
--header "Content-Type: application/json"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
"MerchantOrderId": "2014111703",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "BJORN IRONSIDE",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "SamsungPay",
"WalletKey": "IDENTIFICADOR DA LOJA NA WALLET",
"Eci": 0
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": 1,
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apisandbox.braspag.com.br/v2/sales/e57b09eb-475b-44b6-ac71-01b9b82f2491/void"
}
]
}
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
ProofOfSale |
Número da autorização, idêntico ao NSU. | Texto | 6 | Texto alfanumérico |
Tid |
Identificador da transação na adquirente. | Texto | 20 | Texto alfanumérico |
AuthorizationCode |
Código de autorização. | Texto | 6 | Texto alfanumérico |
SoftDescriptor |
Texto que será impresso na fatura bancária do portador. Obs.: Não permite caracteres especiais. Disponível apenas para VISA/MASTER. | Texto | 13 | Texto alfanumérico |
PaymentId |
Campo identificador do pedido. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ECI |
Electronic Commerce Indicator. Representa o quão segura é uma transação. | Texto | 2 | Ex.: 7 |
Status |
Status da transação. | Byte | 2 | Ex.: 1 |
ReturnCode |
Código de retorno da adquirência. | Texto | 32 | Texto alfanumérico |
ReturnMessage |
Mensagem de retorno da adquirência. | Texto | 512 | Texto alfanumérico |
Type |
Tipo de carteira: “ApplePay” / “SamsungPay” / “GooglePay”. | Texto | 255 | Texto alfanumérico |
WalletKey |
Chave criptográfica que representa os dados do cartão. Consultar a tabela WalletKey para mais informações. | Texto | 255 | Ver a tabela WalletKey |
Para usar essa wallet, faça a contratação diretamente com o PayPal, selecionando a Braspag como service provider.
No PayPal, há a opção de captura automática ou pré-autorização.
Você deve integrar o PayPal com a API do Pagador em seu backend. Se desejar, também poderá incluir o botão do PayPal para exibí-lo em sua página de checkout.
Integre os métodos de autorização e captura da Braspag enviando a requisição no método POST para a API do Pagador.
Na requisição da transação, envie o campo Provider
com o valor “PayPal” e o campo Type
com o valor “Wallet”.
{
"MerchantOrderId": "mwrzdV42BrvDshqJoIClljPWJ",
"Customer": {
"Name": "Teste bsales",
"Identity": "12345678909",
"IdentityType": "CPF",
"Address": {
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "27 andar",
"ZipCode": "12345987",
"City": "São Paulo",
"State": "SP",
"Country": "BRA",
"District": "Alphaville"
}
},
"Payment": {
"Capture": true,
"ReturnUrl": "http://httpbin.org/get",
"Provider": "PayPal",
"Type": "Wallet",
"Amount": 57000,
"Currency": "BRL",
}
Propriedade | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
MerchantOrderId |
Número de identificação do pedido. | Texto | 50 | Sim |
Customer.Name |
Nome do comprador. | Texto | 255 | Não* |
Customer.Identity |
Número do CPF ou CNPJ do cliente. | Texto | 14 | Não* |
Customer.IdentityType |
Tipo de documento de identificação do comprador (CPF ou CNPJ). | Texto | 255 | Não* |
Customer.Address.Street |
Endereço de contato do comprador. | Texto | 255 | Não* |
Customer.Address.Number |
Número do endereço de contato do comprador. | Texto | 15 | Não* |
Customer.Address.Complement |
Complemento do endereço de contato do comprador. | Texto | 50 | Não* |
Customer.Address.ZipCode |
CEP do endereço de contato do comprador. | Texto | 9 | Não* |
Customer.Address.City |
Cidade do endereço de contato do comprador. | Texto | 50 | Não* |
Customer.Address.State |
Estado do endereço de contato do comprador. | Texto | 2 | Não* |
Customer.Address.Country |
País do endereço de contato do comprador. | Texto | 35 | Não* |
Customer.Address.District |
Bairro do endereço de contato do comprador. | Texto | 50 | Não* |
Customer.Status |
Status de cadastro do comprador na loja (“NEW” / “EXISTING”). | Texto | 255 | Não |
Payment.Capture |
Indica se a autorização deve ser com captura automática (“true”) ou não (“false”). Verifique junto à adquirente a disponibilidade desta funcionalidade. | Booleano | - | Não. Obs.: quando o campo Payment.Capture não é enviado, a transação não será capturada. |
Payment.ReturnUrl |
URL para onde o usuário será redirecionado após o fim do pagamento. | Texto | 1024 | Não |
Payment.Provider |
Nome do provedor do meio de pagamento. Nesse caso, “PayPal”. | Texto | 15 | Sim |
Payment.Type |
Tipo do meio de pagamento. Neste caso, “Wallet”. | Texto | 100 | Sim |
Payment.Amount |
Valor do pedido, em centavos. | Número | 15 | Sim |
Payment.Currency |
Moeda em que o pagamento será feito (BRL / USD / MXN / COP / CLP / ARS / PEN / EUR / PYN / UYU / VEB / VEF / GBP). | Texto | 3 | Não |
*Não são campos obrigatórios, mas recomendamos enviar.
{
"MerchantOrderId": "mwrzdV42BrvDshqJoIClljPWJ",
"Customer": {
"Name": "Teste bsales",
"Identity": "12345678909",
"IdentityType": "CPF",
"Address": {
"Street": "Alameda Xingu",
"Number": "512",
"Complement": "27 andar",
"ZipCode": "12345987",
"City": "São Paulo",
"State": "SP",
"Country": "BRA",
"District": "Alphaville"
}
},
"Payment": {
"SentOrderId": "mwrzdV42BrvDshqJoIClljPWJ",
"AcquirerTransactionId": "2X794637K7381181L",
"Capture": true,
"RedirectUrl": "https://www.sandbox.paypal.com/checkoutnow?token=2X794637K7381181L",
"PaymentId": "7529c7d1-7e95-480c-8604-067e45eb7425",
"Type": "Wallet",
"Amount": 57000,
"ReceivedDate": "2021-12-20 16:33:20",
"Currency": "BRL",
"Country": "BRA",
"Provider": "PayPal",
"ReturnUrl": "http://httpbin.org/get",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 12,
"ProviderReturnCode": "201",
"ProviderReturnMessage": "CREATED",
"Links": [{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.braspag.com.br/v2/sales/7529c7d1-7e95-480c-8604-067e45eb7425"
}]
}
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
Payment.SentOrderID |
Número do pedido enviado para a adquirente* | Texto | 50 | Texto alfanumérico |
Payment.AcquirerTransactionId |
Id da transação no provedor de meio de pagamento. | Texto | 40 | Texto alfanumérico |
Payment.RedirectUrl |
É a URL que direciona o usuário para a tela do PayPal (caso você não use o botão do PayPal). | Texto | 1024 | Texto alfanumérico |
Payment.PaymentId |
Campo identificador do pedido. | GUID | 40 | Texto |
Payment.ReceivedDate |
Data de recebimento da transação | DataHora | 19 | AAAA-MM-DD HH:MM:SS |
Payment.Country |
País em que o pagamento será feito. | Texto | 3 | BRA |
Payment.ReturnUrl |
URL para onde o usuário será redirecionado após o fim do pagamento. | Texto | 1024 | Ex.: “https://www.loja.com.br” |
Payment.ReasonCode |
URL para onde o usuário será redirecionado após o fim do pagamento. | Texto | 32 | Texto alfanuméric |
Payment.ReasonMessage |
Mensagem de retorno da operação. | Texto | 512 | Texto alfanumérico |
Payment.Status |
Status da transação. Em caso de sucesso, o status inicial é “12” (Pendente). Veja a lista de status. | Número | - | 12 |
Payment.ProviderReturnCode |
Código retornado pela adquirente ou emissor. | Texto | 32 | Ex.: 57 |
Payment.ProviderReturnMessage |
Mensagem retornada pela adquirente ou emissor. | Texto | 512 | Ex.: Transação Aprovada |
Nossos clientes também podem se integrar com o botão PayPal na pagina de checkout; para esse modelo, a integração deve ser feita utilizando o script do Paypal em conjunto com a integração da API do Pagador.
Para a integração será necessário insir um script em HTML na sua página de checkout. Esse script irá inserir o botão do PayPal e irá disponibilizar duas funções que precisam ser desenvolvidas para conectar com a Braspag:
createOrder
: executa a etapa de autorização da transação (e deve ser integrado no backend com o método de autorização do Pagador);onApprove
: realiza a captura do valor da transação.No script, substitua a url demo da função onApprove
(/demo/checkout/api/paypal/order/’) por paypal/{transactionId}/manualapprove.
Substitua os demais campos de acordo com seu backend para consumir o método de autorização da Braspag. Veja na imagem um exemplo de como ficará o código.
Leia e copie o script completo na página de integração de botões do PayPal.
Lista de status retornados pela API:
Código | Status do Pagamento | Meio de pagamento | Descrição |
---|---|---|---|
0 | NotFinished | Todos | Falha ao processar o pagamento. Possíveis causas: dados incorretos, erro na requisição, timeout da adquirente, alguma instabilidade no processamento. Em caso de transação de débito, o comprador pode ter abandonado a compra. |
1 | Authorized | Todos | Meio de pagamento apto a ser capturado ou pago (boleto). Para transação de boleto, significa que o boleto foi gerado com sucesso. Para transação com cartão, significa que houve a aprovação pelo banco emissor. Contudo, isso não significa que a transação foi concluída - para isso, é necessário uma segunda etapa, a captura da transação ou a efetivação do pagamento. |
2 | PaymentConfirmed | Todos | Pagamento confirmado e finalizado. |
3 | Denied | Cartões de crédito e débito (transferência eletrônica) e e-wallets. | Pagamento negado por autorizador. Possíveis causas: limite insuficiente, falta de pagamento do cartão, bandeira indisponível, bloqueio por fraude, entre outros. Para saber o real motivo da negação é necessário olhar o código de retorno gerado durante a transação. |
10 | Voided | Todos, exceto boleto. | Pagamento cancelado. É a suspensão da transação, isentando de taxa ou valores cobrados. As transações pré-autorizadas podem ser canceladas mesmo após às 23h59 da data de autorização. Já as transações capturadas podem ser canceladas até às 23h59 do mesmo dia da autorização, após esse horário o valor será estornado. |
11 | Refunded | Cartões de crédito e débito e e-wallets. | Pagamento cancelado/estornado. Significa que foi solicitado o cancelamento da transação, podendo ocorrer a partir das 0h00 do dia após a criação da transação. Independentemente do valor, só é possível realizar uma solicitação de estorno por transação. Isso pode acontecer por conta de dados incorretos ou por solicitação do comprador. |
12 | Pending | Cartões de crédito e débito (transferência eletrônica), e-wallets e pix. | Esperando retorno da instituição financeira. Significa que a transação foi enviada para a Braspag em processo de pré-autorização, esperando uma resposta do banco emissor para validá-la. |
13 | Aborted | Todos | Pagamento cancelado por falha no processamento. Significa que a transação foi cancelada por falha de processamento. Também pode ser abortada, caso o Antifraude negue a transação antes da autorização. |
20 | Scheduled | Cartão de crédito e e-wallets. | Recorrência agendada. Significa que a transação terá uma recorrência agendada, ou seja, o valor da compra será recolhido no dia em que foi agendado pela loja. |