Authorize recurrence with credit card

EnvironmentMethodEndpoint
Sandboxhttps://apisandbox.braspag.com.br/v2/sales/
Productionhttps://api.braspag.com.br/v2/sales/
⚠️
  • Add the RecurrentPayment node to the Payment node to schedule future recurrences when authorizing a transaction for the first time in the recurrence series.
    • The parameters Payment.RecurrentPayment.Interval and Payment.RecurrentPayment.DailyInterval, marked with an "*" in the "REQUIRED" column, must not be used together.

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

Below are the header field properties for this request:

Property (header)TypeSizeRequiredDescription
MerchantIdGuid36YesMerchant identifier in Split de Pagamento
MerchantKeyText40YesPublic key for Dual Authentication in Split de Pagamento
Content-TypeHeader40YesApplication/json
RequestIdGuid36NoRequest identifier defined by the merchant, used when the merchant uses different servers for each GET/POST/PUT request.
Property (body)DescriptionTypeSizeRequired
Payment.ProviderPayment method provider name.Text15Yes
Payment.TypePayment method.Text100Yes
Payment.AmountOrder amount, in cents.Number15Yes
Payment.InstallmentsNumber of installments. Recurrence allows only one installment.
Possible values: 01 or 1.
Number2Yes
Payment.RecurrentPayment.EndDateEnd date for the recurrence.Text10No
Payment.RecurrentPayment.IntervalRecurrence interval. Do not use together with DailyInterval.

Monthly (default) / Bimonthly / Quarterly / SemiAnnual / Annual
Text10No*
Payment.RecurrentPayment.DailyIntervalRecurrence pattern in days. Do not use together with Interval.Number2No*
Payment.RecurrentPayment.AuthorizeNow"true" – authorizes at the time of the request.
"false" – for future scheduling.
Boolean
Yes
CreditCard.CardNumberShopper's card number.Text16Yes
CreditCard.HolderShopper's name printed on the card. Note: Field size rules may vary depending on the acquirer.Text25Yes
CreditCard.ExpirationDateExpiration date printed on the card, in the MM/YYYY format.Text7Yes
CreditCard.SecurityCodeSecurity code printed on the back of the card.Text4Yes
CreditCard.BrandCard brand.Text10Yes

Response

{
  [...]
  "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",
      [...]
    }
  }
}
PropertyDescriptionTypeSizeFormat
RecurrentPaymentIdID that represents the recurrence, used for future queries and updates.GUID36xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NextRecurrencyDate when the next recurrence will occur.Text102019-12-11 (YYYY-MM-DD)
EndDateEnd date of the recurrence.Text102019-12-31 (YYYY-MM-DD)
IntervalInterval between recurrences.Text10Monthly / Bimonthly / Quarterly / SemiAnnual / Annual
AuthorizeNowDefines whether the first recurrence will be authorized immediately or not.Boolean***"true" or "false"