Autorizar recorrência com cartão de crédito

AmbienteMétodoEndpoint
Sandboxhttps://apisandbox.braspag.com.br/v2/sales/
Produçãohttps://api.braspag.com.br/v2/sales/

⚠️

  • Adicione o nó RecurrentPayment ao nó Payment para agendar as recorrências futuras ao autorizar uma transação pela primeira vez na série de recorrências.
  • Os parâmetros Payment.RecurrentPayment.Interval e Payment.RecurrentPayment.DailyInterval, marcados com um "*" na coluna "OBRIGATÓRIO", não devem ser utilizados em conjunto.

Requisição

{  
   "MerchantOrderId":"2017051001",
   "Customer":{  
      "Name":"Nome do Comprador",
      "Identity":"12345678909",
      "IdentityType":"CPF",
      "Email":"[email protected]",
      "Birthdate":"1991-01-02",
      "IpAddress":"127.0.0.1",
      "Address":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      },
      "DeliveryAddress":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      }
   },
   "Payment": {
      "Provider":"Simulado",
      "Type":"CreditCard",
      "Amount": 10000,
      "Installments": 1,
      "CreditCard": {
         "CardNumber":"5412217070050381",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa"
      },
      "RecurrentPayment": {
         "AuthorizeNow":"true",
         "EndDate":"2019-12-31",
         "Interval":"Monthly"
      }
   }
}
--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":"2017051001",
   "Customer":{  
      "Name":"Nome do Comprador",
      "Identity":"12345678909",
      "IdentityType":"CPF",
      "Email":"[email protected]",
      "Birthdate":"1991-01-02",
      "IpAddress":"127.0.0.1",
      "Address":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      },
      "DeliveryAddress":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      }
   },
   "Payment": {
      "Provider":"Simulado",
      "Type":"CreditCard",
      "Amount": 10000,
      "Installments": 1,
      "CreditCard": {
         "CardNumber":"5412217070050381",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa"
      },
      "RecurrentPayment": {
         "AuthorizeNow":"true",
         "EndDate":"2019-12-31",
         "Interval":"Monthly"
      }
   }
}
--verbose

A seguir, veja as propriedades de campo nesta requisição:

Propriedade (header)TipoTamanhoObrigatórioDescrição
MerchantIdGuid36SimIdentificador da loja no Split de Pagamento
MerchantKeyTexto40SimChave Publica para Autenticação Dupla no Split de Pagamento
Content-TypeHeader40SimApplication/json
RequestIdGuid36NãoIdentificador do request definido pela loja, utilizado quando o lojista usa diferentes servidores para cada GET/POST/PUT.
Propriedade (body)DescriçãoTipoTamanhoObrigatório?
Payment.ProviderNome do provedor do meio de pagamento.Texto15Sim
Payment.TypeTipo do meio de pagamento.Texto100Sim
Payment.AmountValor do pedido, em centavos.Número15Sim
Payment.InstallmentsNúmero de parcelas. A recorrência só permite uma parcela.
Valores possíveis: 01 ou 1.
Número2Sim
Payment.RecurrentPayment.EndDateData para término da recorrência.Texto10Não
Payment.RecurrentPayment.IntervalIntervalo da recorrência. Não utilizar em conjunto com DailyInterval.

Monthly (default) / Bimonthly / Quarterly / SemiAnnual / Annual
Texto10Não*
Payment.RecurrentPayment.DailyIntervalPadrão da recorrência em dias. Não utilizar em conjunto com Interval.Número2Não*
Payment.RecurrentPayment.AuthorizeNow"true" - autoriza no momento da requisição. "false" - para agendamento futuro.Booleano***Sim
CreditCard.CardNumberNúmero do cartão do comprador.Texto16Sim
CreditCard.HolderNome do comprador impresso no cartão. Obs.: Regras de tamanho do campo podem variar de acordo com a adquirente.Texto25Sim
CreditCard.ExpirationDateData de validade impresso no cartão, no formato MM/AAAA.Texto7Sim
CreditCard.SecurityCodeCódigo de segurança impresso no verso do cartão.Texto4Sim
CreditCard.BrandBandeira do cartão.Texto10Sim

Resposta

{
  [...]
  "Payment": {
    "ServiceTaxAmount": 0,
    "Installments": 1,
    "Interest": "ByMerchant",
    "Capture": true,
    "Authenticate": false,
    "Recurrent": false,
    "CreditCard": {
      "CardNumber": "455187******0181",
      "Holder": "Nome do Portador",
      "ExpirationDate": "12/2021",
      "SaveCard": false,
      "Brand": "Visa"
    },
    "ProofOfSale": "5646418",
    "AcquirerTransactionId": "0511045646418",
    "AuthorizationCode": "100024",
    "PaymentId": "067f73ce-62fb-4d76-871d-0bcbb88fbd22",
    "Type": "CreditCard",
    "Amount": 10000,
    "ReceivedDate": "2017-05-11 16:56:46",
    "Currency": "BRL",
    "Country": "BRA",
    "Provider": "Simulado",
    "ReasonCode": 0,
    "ReasonMessage": "Successful",
    "Status": 1,
    "ProviderReturnCode": "4",
    "ProviderReturnMessage": "Operation Successful",
    "RecurrentPayment": {
      "RecurrentPaymentId": "808d3631-47ca-43b4-97f5-bd29ab06c271",
      "ReasonCode": 0,
      "ReasonMessage": "Successful",
      "NextRecurrency": "2017-06-11",
      "EndDate": "2019-12-31",
      "Interval": "Monthly",
      [...]
    }
  }
}
--header "Content-Type: application/json"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
  [...]
  "Payment": {
    "ServiceTaxAmount": 0,
    "Installments": 1,
    "Interest": "ByMerchant",
    "Capture": true,
    "Authenticate": false,
    "Recurrent": false,
    "CreditCard": {
      "CardNumber": "455187******0181",
      "Holder": "Nome do Portador",
      "ExpirationDate": "12/2021",
      "SaveCard": false,
      "Brand": "Visa"
    },
    "ProofOfSale": "5646418",
    "AcquirerTransactionId": "0511045646418",
    "AuthorizationCode": "100024",
    "PaymentId": "067f73ce-62fb-4d76-871d-0bcbb88fbd22",
    "Type": "CreditCard",
    "Amount": 10000,
    "ReceivedDate": "2017-05-11 16:56:46",
    "Currency": "BRL",
    "Country": "BRA",
    "Provider": "Simulado",
    "ReasonCode": 0,
    "ReasonMessage": "Successful",
    "Status": 1,
    "ProviderReturnCode": "4",
    "ProviderReturnMessage": "Operation Successful",
    "RecurrentPayment": {
      "RecurrentPaymentId": "808d3631-47ca-43b4-97f5-bd29ab06c271",
      "ReasonCode": 0,
      "ReasonMessage": "Successful",
      "NextRecurrency": "2017-06-11",
      "EndDate": "2019-12-31",
      "Interval": "Monthly",
      [...]
    }
  }
}
PropriedadeDescriçãoTipoTamanhoFormato
RecurrentPaymentIdID que representa a recorrência, utilizada para consultas e alterações futuras.GUID36xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NextRecurrencyData de quando acontecerá a próxima recorrência.Texto102019-12-11 (YYYY-MM-DD)
EndDateData do fim da recorrência.Texto102019-12-31 (YYYY-MM-DD)
IntervalIntervalo entre as recorrências.Texto10Monthly / Bimonthly / Quarterly / SemiAnnual / Annual
AuthorizeNowDefine se a primeira recorrência já irá ser autorizada ou não.Booleano***"true" ou "false"