openapi: 3.0.0 info: title: VTex Anti-fraud Provider Account Installments API description: ">ℹ️ Onboarding guide\r\n>\r\n> Check the new [Payments onboarding guide](https://developers.vtex.com/docs/guides/payments-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Payments and is organized by focusing on the developer's journey.\r\n\r\nThe Anti-fraud Provider Protocol is a set of definitions to help you integrate your anti-fraud service API into VTEX platform.\r\n\r\nTo achieve this, you need to implement a web API (REST) following the specifications described in this documentation.\r\n\r\n>⚠️ You can also access our [template on GitHub](https://github.com/vtex-apps/antifraud-provider-example) to help you quickly develop your anti-fraud connector using the Anti-fraud Provider Protocol and VTEX IO.\r\n\r\nTo learn more about the Anti-fraud Provider Protocol, check our [developer guide](https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works).\r\n\r\n## Anti-fraud Provider API Index\r\n\r\n### Anti-fraud Flow\r\n\r\n- `POST` [Send Anti-fraud Pre-Analysis Data (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/pre-analysis)\r\n- `POST` [Send Anti-fraud Data](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/transactions)\r\n- `PUT` [Update Anti-fraud Transactions (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#put-/transactions/-transactionId-)\r\n- `GET` [List Anti-fraud Provider Manifest](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/manifest)\r\n- `GET` [Get Anti-fraud Status](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/transactions/-transactions.id-)\r\n- `DELETE` [Stop Anti-fraud Analysis (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#delete-/transactions/-transactions.Id-)\r\n\r\n### OAuth Flow\r\n\r\n1. `POST` [Retrieve Token](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/authorization/token)\r\n2. `GET` [Redirect](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/redirect)\r\n3. `GET` [Return to VTEX](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorizationCode)\r\n4. `GET` [Get Credentials](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorization/credentials)" version: '1.0' servers: - url: https://{providerApiEndpoint} description: Anti-fraud provider endpoint URL. variables: providerApiEndpoint: description: Anti-fraud provider endpoint URL. default: '{providerApiEndpoint}' tags: - name: Installments paths: /api/pvt/installments: get: tags: - Installments summary: VTex Get installments options description: "Returns the best installment options according to the parameters informed in the request.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| PCI Gateway | Payment-Make Payments | **View Payment Data** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations." operationId: Installmentsoptions parameters: - name: request.value in: query description: Value to be divided into installments. required: true style: form schema: type: integer example: 10 - name: request.salesChannel in: query description: Sales channel identification. Attribute created by the seller in their VTEX store configuration. required: false style: form schema: type: integer example: 1 - name: request.paymentDetails[0].id in: query description: Payment system identification. required: false style: form schema: type: integer example: 2 - name: request.paymentDetails[0].value in: query description: Total value paid in installments. If applied in the search, it must be equal to the `request.value` field. required: false style: form schema: type: integer example: 10 - name: request.paymentDetails[0].bin in: query description: First six digits of the card number. required: false style: form schema: type: integer example: 411111 - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ValidRequest' example: value: 250 installments: - payment: id: 72 name: null bin: null value: 250 isDefault: false self: href: /api/pvt/payment-systems/72 options: - ruleId: 01a8d68b-9116-4655-83f8-3380f658ec04 quantity: 1 value: 250 interestRate: 0 isExternalInstallmentService: null interestTax: 0 - ruleId: 01a8d68b-9116-4655-83f8-3380f658ec04 quantity: 2 value: 125 interestRate: 0 isExternalInstallmentService: null interestTax: 0 - ruleId: 01a8d68b-9116-4655-83f8-3380f658ec04 quantity: 3 value: 83.33 interestRate: 0 isExternalInstallmentService: null interestTax: 0 - ruleId: 01a8d68b-9116-4655-83f8-3380f658ec04 quantity: 4 value: 62.5 interestRate: 0 isExternalInstallmentService: null interestTax: 0 - payment: id: 5 name: ERedeV2 - Visa bin: null value: 10 isDefault: false self: href: /api/pvt/payment-systems/2 options: - ruleId: 993d4d35-b64d-454d-8108-c560580160e0 quantity: 1 value: 250 interestRate: 0 isExternalInstallmentService: null interestTax: null - payment: id: 12 name: PayPal - 6U0DTI3M3OKO6R bin: null value: 10 isDefault: false self: href: /api/pvt/payment-systems/12 options: - ruleId: 9ac0fa1b-dd9d-4549-abb8-e73bbb63c280 quantity: 1 value: 250 interestRate: 0 isExternalInstallmentService: null interestTax: null '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/InvalidRequestValue' example: error: code: '1' message: Value must be greater than Zero exception: null deprecated: false components: schemas: InvalidRequestValue: required: - error type: object description: Installments options response body information. properties: error: required: - code - message - exception type: object description: Error information. properties: code: type: string description: Error code. message: type: string description: Error message. exception: type: string description: Exception information. nullable: true Option: required: - ruleId - quantity - value - interestRate - isExternalInstallmentService - interestTax type: object description: Installment options information. properties: ruleId: type: string description: Rule identification. nullable: true quantity: type: integer description: Number of installments. value: type: number description: Value of each installment. interestRate: type: number description: Interest rate (percent 0.1 = 10%). isExternalInstallmentService: type: number description: Indicates the external installment system (if applicable). nullable: true interestTax: type: number description: Interest tax (percent 0.1 = 10%). nullable: true Installment: required: - payment - options type: object description: Installment options information. properties: payment: $ref: '#/components/schemas/Payment' options: type: array description: Array containing information about installment options. items: $ref: '#/components/schemas/Option' ValidRequest: required: - value - installments type: object description: Installments options response body information. properties: value: type: number description: Value to be paid in installments. installments: type: array items: $ref: '#/components/schemas/Installment' description: Installments information. Self: required: - href type: object description: Object containing the payment system reference route. properties: href: type: string description: Payment system reference route. Payment: required: - id - name - bin - value - isDefault - self type: object description: Payment system information. properties: id: type: integer description: Payment system identification. name: type: string description: Payment system name. nullable: true bin: type: string description: First six digits of the card number. nullable: true value: type: number description: Value to be paid in installments. isDefault: type: boolean description: Indicates whether the payment system is automatically applied by default. default: false self: $ref: '#/components/schemas/Self' parameters: Accept: name: Accept in: header description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand. required: true style: simple schema: type: string example: application/json Content-Type: name: Content-Type in: header description: Type of the content being sent. required: true style: simple schema: type: string example: application/json securitySchemes: VtexIdclientAutCookie: type: apiKey in: header name: VtexIdclientAutCookie description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'