Cabal<\/code><\/td>\r\n Credit Card<\/td>\r\n | Argentina, Brazil, Uruguay, Paraguay<\/td>\r\n <\/tr>\r\n | Cartes Bancaires (CB)<\/code><\/td>\r\n Credit Card<\/td>\r\n | France<\/td>\r\n <\/tr>\r\n | \r\n VirtualDebitElo<\/code><\/td>\r\n Debit Card<\/td>\r\n | Brazil<\/td>\r\n <\/tr>\r\n | \r\n Visa Electron<\/code><\/td>\r\n Debit Card<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Maestro<\/code><\/td>\r\n Debit Card<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Mastercard Debit<\/code><\/td>\r\n Debit Card<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n D\u00E9bito Online<\/code><\/td>\r\n Debit Card<\/td>\r\n | Brazil<\/td>\r\n <\/tr>\r\n | \r\n Cobranded<\/code><\/td>\r\n Card<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Privatelabels<\/code><\/td>\r\n Card<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Promissories<\/code><\/td>\r\n Generic<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Cash<\/code><\/td>\r\n Generic<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Pix<\/code><\/td>\r\n Online Transfer<\/td>\r\n | Brazil<\/td>\r\n <\/tr>\r\n | \r\n Safetypay<\/code><\/td>\r\n Online Transfer<\/td>\r\n | Americas and Europe<\/td>\r\n <\/tr>\r\n | \r\n BankInvoice<\/code><\/td>\r\n Offline\/Voucher<\/td>\r\n | Brazil (Boleto Banc\u00E1rio)<\/td>\r\n <\/tr>\r\n | \r\n FichaDeposito<\/code><\/td>\r\n Offline\/Voucher<\/td>\r\n | Mexico<\/td>\r\n <\/tr>\r\n | \r\n Rapipago<\/code><\/td>\r\n Offline\/Voucher<\/td>\r\n | Argentina<\/td>\r\n <\/tr>\r\n | \r\n OXXO<\/code><\/td>\r\n Offline\/Voucher<\/td>\r\n | Mexico<\/td>\r\n <\/tr>\r\n | \r\n Voucher<\/code><\/td>\r\n Offline\/Voucher<\/td>\r\n | Mexico<\/td>\r\n <\/tr>\r\n | \r\n Bitcoin<\/code><\/td>\r\n Cryptocurrency<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Venda Direta Credito<\/code><\/td>\r\n Credit Card (Physical)<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n | \r\n Venda Direta Debito<\/code><\/td>\r\n Debit Card (Physical)<\/td>\r\n | Global<\/td>\r\n <\/tr>\r\n<\/table> \r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "Manifest",
"security": [],
"parameters": [
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
}
],
"responses": {
"200": {
- "description": "",
- "headers": {},
+ "description": "OK",
"content": {
"application/json": {
"schema": {
@@ -138,67 +120,36 @@
"Payment Flow"
],
"summary": "Create Payment",
- "description": "Creates a new payment and initiates the payment flow.\r\n\r\nFor credit/debit card payments or any sync payments, you're expected to execute the authorization.\r\n\r\nYou're expected to return the required information to the customer for bank-issued invoice, redirect, or any async payments.\r\n\r\nThe same request, for the same `paymentId`, can be executed several times, so you must handle it in a way to avoid recreating the payment, but returning the most updated status instead.\r\n\r\n## Callbacks (asynchronous flow)\r\n\r\nCallbacks are used for asynchronous payments, which do not receive the final status immediately. At first, an `undefined` status is returned, and the final status will be received from a callback request in the future as `authorized` or `denied`. There are two types of callbacks:\r\n\r\n- **Notification:** If a payment returns with `undefined` status, you are expected to send us a callback/notification to update it later, sending a POST with an updated version of your response (same structure as above) to the `callbackUrl` we have provided.\r\n\r\n- **Retry:** If a payment returns with `undefined` status, you are expected to call the retry endpoint provided by the `callbackUrl` when the processing of the payment is completed, so we make another Create Payment request to update the status with the new value (`authorized` or `denied`).\r\n\r\nCallback requests should be authenticated using a Key and Token which you can [generate from your VTEX partner account License Manager](https://help.vtex.com/en/tutorial/application-keys--2iffYzlvvz4BDMr6WGUtet#generating-app-keys-in-your-account). To do so, `POST` your request passing the `X-VTEX-API-AppKey` and `X-VTEX-API-AppToken` headers with your credentials. **Note:** do not mix up these credentials with the ones we send on behalf of the merchant when sending our requests.\r\n\r\n>\u26A0 For integrations not using VTEX IO, use the **Notification** callback. For integrations developed using VTEX IO infrastructure, use the **Retry** callback.\r\n\r\n### Callback URL\r\n\r\nThe `callbackUrl` field contains an URL that the payment provider uses to make a callback and inform our gateway of the final payment status: `approved` or `denied`. \r\n\r\nThis URL has some query parameters, including the `X-VTEX-signature`. This parameter is mandatory and contains a signature token to identify that the request has been generated from VTEX as a security measure. The signature token has at most 32 characters. You can check an example of callback URL with the signature token below:\r\n\r\n```\r\nhttps://gatewayqa.vtexpayments.com.br/api/pvt/payment-provider/transactions/8FB0F111111122222333344449984ACB/payments/A2A9A25B11111111222222333327883C/callback?accountName=teampaymentsintegrations&X-VTEX-signature=R******tk\r\n```\r\n\r\nIn the [Transactions page of the Admin](https://help.vtex.com/en/tutorial/how-to-view-the-orders-details--tutorials_452), the signature token appears masked for security reasons, as in this example: `X-VTEX-signature=Rj******tk`.\r\n\r\nWhen making the callback request, we recommend that payment providers use the callback URL exactly as received, which guarantees that all the parameters are included.\r\n\r\nSee below an example of a payload forwarded along with the callback URL:\r\n\r\n```json\r\n{\r\n \"paymentId\": \"8B3BA2F4352545A8B1C5A215F356A01C\",\r\n \"status\": \"approved\",\r\n \"authorizationId\": \"184520\",\r\n \"nsu\": \"21705348\",\r\n \"tid\": \"21705348\",\r\n \"acquirer\": \"pagmm\",\r\n \"code\": \"0000\",\r\n \"message\": \"Successfully approved transaction\",\r\n \"delayToAutoSettle\": 1200,\r\n \"delayToAutoSettleAfterAntifraud\": 1200,\r\n \"delayToCancel\": 86400,\r\n \"cardBrand\": \"Mastercard\",\r\n \"firstDigits\": \"534696\",\r\n \"lastDigits\": \"6921\",\r\n \"maxValue\": 16.6\r\n}\r\n```\r\n\r\n>ℹ️ The parameter values sent in the callback payload replace the original values informed in the **Create Payment** request.\r\n\r\n>⚠️ If the waiting parameters (`delayToAutoSettle` and `delayToAutoSettleAfterAntifraud`) are not sent with the callback URL, the values for these parameters will be automatically set to 24 hours.\r\n\r\n## Beta features\r\n\r\nThe beta features available for payment providers are:\r\n\r\n- `inboundRequestsUrl`: Allows to forward external requests back to your payment provider implementation, including the configured credentials (`X-VTEX-API-*` headers), and settings.\r\n\r\n>\u2139 You can reach out to our team by [opening a ticket](https://help.vtex.com/en/tutorial/opening-tickets-to-vtex-support--16yOEqpO32UQYygSmMSSAM) to know more about any beta features.\r\n\r\n## Request examples\r\n\r\n### Credit Card Success Approved\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"618272\",\r\n \"orderId\": \"1072430428324\",\r\n \"shopperInteraction\": \"ecommerce\",\r\n \"transactionId\": \"2F023FD5A72A49D48A8633252B7CCBD6\",\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"paymentMethod\": \"Diners\",\r\n \"merchantName\": \"mystore\",\r\n \"card\": {\r\n \"holder\": \"John Doe\",\r\n \"number\": \"364901****2661\",\r\n \"csc\": \"***\",\r\n \"expiration\": {\r\n \"month\": \"12\",\r\n \"year\": \"2020\"\r\n },\r\n \"document\": \"39295416023\",\r\n \"token\": null\r\n },\r\n \"value\": 31.90,\r\n \"referenceValue\": \"31.90\",\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"installmentsInterestRate\": 0.00,\r\n \"installmentsValue\": 31.90,\r\n \"deviceFingerprint\": \"75076388\",\r\n \"ipAddress\": \"187.105.111.65\",\r\n \"miniCart\": {\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"cpf\",\r\n \"corporateName\": null,\r\n \"tradeName\": null,\r\n \"corporateDocument\": null,\r\n \"isCorporate\": false,\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521999999999\",\r\n \"createdDate\": \"2020-02-18T18:17:45\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"8\",\r\n \"name\": \"Tenis Preto I\",\r\n \"price\": 30.9,\r\n \"quantity\": 1,\r\n \"discount\": 0.0,\r\n \"deliveryType\": \"Normal\",\r\n \"categoryId\": \"5\",\r\n \"sellerId\": \"1\"\r\n }\r\n ],\r\n \"shippingValue\": 1.0,\r\n \"taxValue\": 0.0\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders?q=1072430428324\",\r\n \"callbackUrl\": \"https:\/\/api.mystore.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/1072430428324\",\r\n \"inboundRequestsUrl\": \"https:\/\/api.mystore.example.com\/checkout\/order\/1072430428324\/inbound-request\/:action\",\r\n \"recipients\": [\r\n {\r\n \"id\": \"mymarketplace\",\r\n \"name\": \"My Marketplace QA\",\r\n \"documentType\": \"CNPJ\",\r\n \"document\": \"99999999999999\",\r\n \"role\": \"marketplace\",\r\n \"chargeProcessingFee\": true,\r\n \"chargebackLiable\": true,\r\n \"amount\": 31.90\r\n }\r\n ],\r\n \"merchantSettings\": [\r\n {\r\n \"name\": \"field1\",\r\n \"value\": \"value1\"\r\n },\r\n {\r\n \"name\": \"field2\",\r\n \"value\": \"value2\"\r\n }\r\n ]\r\n}'\r\n```\r\n\r\n### Pix Success Approved\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw curl --location --request GET '' \\\r\n--header 'Content-Type: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"Pix\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": \"4307.23\",\r\n \"referenceValue\": \"4307.23\",\r\n \"currency\": \"BRL\",\r\n \"installments\": \"1\",\r\n \"deviceFingerprint\": \"15ace369587ha\",\r\n \"card\": {\r\n \"holder\": null,\r\n \"number\": null,\r\n \"csc\": null,\r\n \"expiration\": {\r\n \"month\": null,\r\n \"year\": null\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": \"11.44\",\r\n \"taxValue\": \"10.01\",\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"cpf\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521999999999\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Success Undefined\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"Visa\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": \"4000.00\",\r\n \"currency\": \"BRL\",\r\n \"installments\": 3,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": \"John Doe\",\r\n \"number\": \"4682185088924788\",\r\n \"csc\": \"021\",\r\n \"expiration\": {\r\n \"month\": \"06\",\r\n \"year\": \"2029\"\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Success Undefined BankInvoice\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"BankInvoice\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4307.23,\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": null,\r\n \"number\": null,\r\n \"csc\": null,\r\n \"expiration\": {\r\n \"month\": null,\r\n \"year\": null\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Success Denied\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"Visa\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4000.00,\r\n \"currency\": \"BRL\",\r\n \"installments\": 3,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": \"John Doe\",\r\n \"number\": \"4682185088924788\",\r\n \"csc\": \"021\",\r\n \"expiration\": {\r\n \"month\": \"06\",\r\n \"year\": \"2029\"\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Boleto Success Approved\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"618272\",\r\n \"orderId\": \"1072430428324\",\r\n \"shopperInteraction\": \"ecommerce\",\r\n \"transactionId\": \"2F023FD5A72A49D48A8633252B7CCBD6\",\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"paymentMethod\": \"BankInvoice\",\r\n \"merchantName\": \"mystore\",\r\n \"card\": {\r\n \"holder\": \"null\",\r\n \"number\": \"null\",\r\n \"csc\": \"null\",\r\n \"expiration\": {\r\n \"month\": \"null\",\r\n \"year\": \"null\"\r\n }\r\n },\r\n \"document\": null,\r\n \"token\": null\r\n }\r\n \"value\": 31.90,\r\n \"referenceValue\": 31.90,\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"installmentsInterestRate\": 0.00,\r\n \"installmentsValue\": 31.90,\r\n \"deviceFingerprint\": \"98073964\",\r\n \"ipAddress\": \"187.105.111.65\",\r\n \"miniCart\": {\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"cpf\",\r\n \"corporateName\": null,\r\n \"tradeName\": null,\r\n \"corporateDocument\": null,\r\n \"isCorporate\": false,\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521999999999\",\r\n \"createdDate\": \"2020-02-18T18:17:45\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"8\",\r\n \"name\": \"Tenis Preto I\",\r\n \"price\": 30.9,\r\n \"quantity\": 1,\r\n \"discount\": 0.0,\r\n \"deliveryType\": \"Normal\",\r\n \"categoryId\": \"5\",\r\n \"sellerId\": \"1\"\r\n }\r\n ],\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders?q=1072430428324\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/1072430428324\",\r\n \"inboundRequestsUrl\": \"https:\/\/api.mystore.example.com\/checkout\/order\/1072430428324\/inbound-request\/:action\",\r\n \"recipients\": [\r\n {\r\n \"id\": \"mymarketplace\",\r\n \"name\": \"My Marketplace QA\",\r\n \"documentType\": \"CNPJ\",\r\n \"document\": \"99999999999999\",\r\n \"role\": \"marketplace\",\r\n \"chargeProcessingFee\": true,\r\n \"chargebackLiable\": true,\r\n \"amount\": 31.90\r\n }\r\n ],\r\n \"merchantSettings\": [\r\n {\r\n \"name\": \"field1\",\r\n \"value\": \"value1\"\r\n },\r\n {\r\n \"name\": \"field2\",\r\n \"value\": \"value2\"\r\n }\r\n ]\r\n }\r\n}'\r\n```\r\n\r\n### Payment App + Inbound Request Success Undefined\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"CustomPay\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4307.23,\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": null,\r\n \"number\": null,\r\n \"csc\": null,\r\n \"expiration\": {\r\n \"month\": null,\r\n \"year\": null\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\",\r\n \"inboundRequestsUrl\": \"https:\/\/mystore.api.example.com\/some-path\/inbound-request\/:action\"\r\n}'\r\n```\r\n\r\n### Redirect Success Undefined\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"FakePay\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4307.23,\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": null,\r\n \"number\": null,\r\n \"csc\": null,\r\n \"expiration\": {\r\n \"month\": null,\r\n \"year\": null\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Redirect Success Approved\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"618272\",\r\n \"orderId\": \"1072430428324\",\r\n \"shopperInteraction\": \"ecommerce\",\r\n \"transactionId\": \"2F023FD5A72A49D48A8633252B7CCBD6\",\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"paymentMethod\": \"RedirectPay\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 31.90,\r\n \"referenceValue\": 31.90,\r\n \"currency\": \"BRL\",\r\n \"installments\": 1,\r\n \"installmentsInterestRate\": 0.00,\r\n \"installmentsValue\": 31.90,\r\n \"deviceFingerprint\": \"75076388\",\r\n \"ipAddress\": \"187.105.111.65\",\r\n \"miniCart\": {\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"cpf\",\r\n \"corporateName\": null,\r\n \"tradeName\": null,\r\n \"corporateDocument\": null,\r\n \"isCorporate\": false,\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521999999999\",\r\n \"createdDate\": \"2020-02-18T18:17:45\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"8\",\r\n \"name\": \"Tenis Preto I\",\r\n \"price\": 30.9,\r\n \"quantity\": 1,\r\n \"discount\": 0.0,\r\n \"deliveryType\": \"Normal\",\r\n \"categoryId\": \"5\",\r\n \"sellerId\": \"1\"\r\n } \r\n ],\r\n \"shippingValue\": 1.0,\r\n \"taxValue\": 0.0\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\",\r\n \"inboundRequestsUrl\": \"https:\/\/api.mystore.example.com\/checkout\/order\/1072430428324\/inbound-request\/:action\",\r\n \"recipients\": [\r\n {\r\n \"id\": \"mymarketplace\",\r\n \"name\": \"My Marketplace QA\",\r\n \"documentType\": \"CNPJ\",\r\n \"document\": \"99999999999999\",\r\n \"role\": \"marketplace\",\r\n \"chargeProcessingFee\": true,\r\n \"chargebackLiable\": true,\r\n \"amount\": 31.90\r\n }\r\n ],\r\n \"merchantSettings\": [\r\n {\r\n \"name\": \"field1\",\r\n \"value\": \"value1\"\r\n },\r\n {\r\n \"name\": \"field2\",\r\n \"value\": \"value2\"\r\n }\r\n ]\r\n}'\r\n```\r\n\r\n### Fail Generic Error\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"Visa\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4000.00,\r\n \"currency\": \"BRL\",\r\n \"installments\": 3,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": \"John Doe\",\r\n \"number\": \"4682185088924788\",\r\n \"csc\": \"021\",\r\n \"expiration\": {\r\n \"month\": \"06\",\r\n \"year\": \"2029\"\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n### Fail Bad Request\r\n\r\n```json\r\ncurl --location --request POST 'https:\/\/{{providerApiEndpoint}}\/payments' \\\r\n--header 'X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}' \\\r\n--header 'X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}' \\\r\n--header 'Content-Type: application\/json' \\\r\n--header 'Accept: application\/json' \\\r\n--data-raw '{\r\n \"reference\": \"32478982\",\r\n \"orderId\": \"v967373115140abc\",\r\n \"transactionId\": \"D3AA1FC8372E430E8236649DB5EBD08E\",\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"paymentMethod\": \"Visa\",\r\n \"paymentMethodCustomCode\": null,\r\n \"merchantName\": \"mystore\",\r\n \"value\": 4307.23,\r\n \"referenceValue\": 4000.00,\r\n \"currency\": \"BRL\",\r\n \"installments\": 3,\r\n \"deviceFingerprint\": \"12ade389087fe\",\r\n \"card\": {\r\n \"holder\": \"John Doe\",\r\n \"number\": \"4682185088924788\",\r\n \"csc\": \"021\",\r\n \"expiration\": {\r\n \"month\": \"06\",\r\n \"year\": \"2029\"\r\n }\r\n },\r\n \"miniCart\": {\r\n \"shippingValue\": 11.44,\r\n \"taxValue\": 10.01,\r\n \"buyer\": {\r\n \"id\": \"c1245228-1c68-11e6-94ac-0afa86a846a5\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Doe\",\r\n \"document\": \"01234567890\",\r\n \"documentType\": \"CPF\",\r\n \"email\": \"john.doe@example.com\",\r\n \"phone\": \"+5521987654321\"\r\n },\r\n \"shippingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Praia de Botafogo St.\",\r\n \"number\": \"300\",\r\n \"complement\": \"3rd Floor\",\r\n \"neighborhood\": \"Botafogo\",\r\n \"postalCode\": \"22250040\",\r\n \"city\": \"Rio de Janeiro\",\r\n \"state\": \"RJ\"\r\n },\r\n \"billingAddress\": {\r\n \"country\": \"BRA\",\r\n \"street\": \"Brigadeiro Faria Lima Avenue\",\r\n \"number\": \"4440\",\r\n \"complement\": \"10th Floor\",\r\n \"neighborhood\": \"Itaim Bibi\",\r\n \"postalCode\": \"04538132\",\r\n \"city\": \"S\u00E3o Paulo\",\r\n \"state\": \"SP\"\r\n },\r\n \"items\": [\r\n {\r\n \"id\": \"132981\",\r\n \"name\": \"My First Product\",\r\n \"price\": 2134.90,\r\n \"quantity\": 2,\r\n \"discount\": 5.00\r\n },\r\n {\r\n \"id\": \"123242\",\r\n \"name\": \"My Second Product\",\r\n \"price\": 21.98,\r\n \"quantity\": 1,\r\n \"discount\": 1.00\r\n }\r\n ]\r\n },\r\n \"url\": \"https:\/\/admin.mystore.example.com\/orders\/v32478982\",\r\n \"callbackUrl\": \"https:\/\/api.example.com\/some-path\/to-notify\/status-changes?an=mystore\",\r\n \"returnUrl\": \"https:\/\/mystore.example.com\/checkout\/order\/v32478982\"\r\n}'\r\n```\r\n\r\n## Response examples\r\n\r\n\r\n\r\n### 200 - OK\r\n\r\n```json\r\n{\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"status\": \"undefined\",\r\n \"tid\": \"TID1578324421\",\r\n \"authorizationId\": null,\r\n \"nsu\": null,\r\n \"code\": \"APP123\",\r\n \"paymentAppData\": {\r\n \"appName\": \"vendor.payment-auth-app\",\r\n \"payload\": \"{\\\"backendUrl\\\":\\\"https://api.example.org/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91\\\",\\\"randomString\\\":\\\"78818C2C64264212B8D5771BDC7B1A\\\",\\\"randomBool\\\":false,\\\"timestamp\\\":\\\"2019-10-07 21:30:09Z\\\"}\"\r\n },\r\n \"message\": \"The customer needs to finish the payment flow\",\r\n \"delayToAutoSettle\": 604800,\r\n \"delayToAutoSettleAfterAntifraud\": 120,\r\n \"delayToCancel\": 604800\r\n}\r\n```\r\n\r\n### 200 - OK - Pix\r\n\r\n```json\r\n{\r\n \"paymentId\": \"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\r\n \"status\": \"undefined\",\r\n \"tid\": \"TID1578324421\",\r\n \"authorizationId\": null,\r\n \"nsu\": null,\r\n \"code\": \"APP123\",\r\n \"paymentAppData\": {\r\n \"payload\": \"{\\\"code\\\":\\\"https://bacen.pix/pix/code\\\",\\\"qrCodeBase64Image\\\":\\\"iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGDiSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAxSDMwMkgwiCZmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsgspwWXFu+Xeyundb6w0WL33C5M9SiAKyW1OBlI/wHihOSCohIGBsYYIFu5vKQAxG4AskWKgI4CsqeA2OkQ9goQOwnC3gNWExLkDGRfALIFkjMSU4DsB0C2ThKSeDoSG2ovCLAZGZkbhBNwKKmgJLWiBEQ75xdUFmWmZ5QoOAJDJ1XBMy9ZT0fByMDIgIEBFNYQ1Z9vgMOQUYwDIZapzMBgmQEUfIQQSxNmYNiZzsDAU4UQU5/PwMBrxMBw5GJBYlEi3AGM31iK04yNIGzu7QwMrNP+//8M9Ca7JgPD3+v////e/v//32UMDMy3GBgOfAMA4+RdqZ9YRkcAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAAKgAwAEAAAAAQAAAAIAAAAAQVNDSUkAAABTY3JlZW5zaG900Fpo3gAAAdJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl89Cn4AAAASSURBVAgdY/wPBAxAwAQiQAAAPfgEAIAu9DkAAAAASUVORK5CYII=\\\"}\"\r\n },\r\n \"message\": \"The customer needs to finish the payment flow\",\r\n \"delayToAutoSettle\": 604800,\r\n \"delayToAutoSettleAfterAntifraud\": 120,\r\n \"delayToCancel\": 300\r\n}\r\n```\r\n\r\n### 200 - OK - Credit Card\r\n\r\n```json\r\n{\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"status\": \"approved\",\r\n \"authorizationId\": \"AUT-09DC5E8F03\",\r\n \"nsu\": \"NSU-107521E866\",\r\n \"tid\": \"TID-7B58BE1A08\",\r\n \"acquirer\": \"TestPay\",\r\n \"code\": \"2000\",\r\n \"message\": null,\r\n \"delayToAutoSettle\": 21600,\r\n \"delayToAutoSettleAfterAntifraud\": 1800,\r\n \"delayToCancel\": 21600\r\n}\r\n```\r\n\r\n### 200 - OK - Boleto\r\n\r\n```json\r\n{\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"status\": \"undefined\",\r\n \"authorizationId\": \"AUT-2E7CBF7290-ASYNC\",\r\n \"paymentUrl\": \"https://example.org/boleto/gatewayqa/2F023FD5A72A49D48A8633252B7CCBD6/01693EB95BE443AC85874E395CD91565\",\r\n \"identificationNumber\": \"23790504004199031316957008109209378300000019900\",\r\n \"identificationNumberFormatted\": \"23790.50400 41990.313169 57008.109209 3 78300000019900\",\r\n \"barCodeImageType\": \"i25\",\r\n \"barCodeImageNumber\": \"23793783000000199000504041990313165700810920\",\r\n \"nsu\": \"NSU-60F328ACD8-ASYNC\",\r\n \"tid\": \"TID-F3FB9B3FDB-ASYNC\",\r\n \"acquirer\": \"TestPay\",\r\n \"code\": \"2000-ASYNC\",\r\n \"message\": null,\r\n \"delayToAutoSettle\": 21600,\r\n \"delayToAutoSettleAfterAntifraud\": 1800,\r\n \"delayToCancel\": 21600\r\n}\r\n```\r\n\r\n### 200 - OK - Payment App\r\n\r\n```json\r\n{\r\n \"paymentId\": \"01693EB95BE443AC85874E395CD91565\",\r\n \"status\": \"undefined\",\r\n \"authorizationId\": \"AUT-6929AD8429\",\r\n \"paymentAppData\": {\r\n \"appName\": \"vtex.payment\",\r\n \"payload\": \"{\\\"approvePaymentUrl\\\":\\\"https://api.mystore.example.com/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/callback-trigger/approved?url=https://api.mystore.example.com/transactions/D3AA1FC8372E430E8236649DB5EBD08E/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/notification\\\",\\\"denyPaymentUrl\\\":\\\"https://api.mystore.example.com/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/callback-trigger/denied?url=https://api.mystore.example.com/transactions/D3AA1FC8372E430E8236649DB5EBD08E/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/notification\\\",\\\"orderId\\\":\\\"1072650953886\\\",\\\"transactionId\\\":\\\"D3AA1FC8372E430E8236649DB5EBD08E\\\",\\\"paymentId\\\":\\\"F5C1A4E20D3B4E07B7E871F5B5BC9F91\\\",\\\"timestamp\\\":\\\"2020-10-29 17:15:59Z\\\"}\"\r\n },\r\n \"nsu\": \"NSU-227AFD0BD2\",\r\n \"tid\": \"TID-DBE4BFFB19\",\r\n \"acquirer\": \"TestPay\",\r\n \"code\": \"2001\",\r\n \"message\": null,\r\n \"delayToAutoSettle\": 21600,\r\n \"delayToAutoSettleAfterAntifraud\": 1800,\r\n \"delayToCancel\": 21600\r\n}\r\n```\r\n\r\n### 200 - OK - Redirect\r\n\r\n```json\r\n{\r\n \"paymentId\": \"7ee64e51-a0d3-4405-874c-d7497ab84572\",\r\n \"status\": \"undefined\",\r\n \"tid\": \"214c699cb408ce6a7110\",\r\n \"paymentUrl\": \"http://php-connector.herokuapp.com/installments.php?paymentId=7ee64e51-a0d3-4405-874c-d7497ab84572\"\r\n}\r\n```\r\n\r\n### 200 - OK - Callback\r\n\r\n```json\r\n{\r\n \"paymentId\": \"7ee64e51-a0d3-4405-874c-d7497ab84572\",\r\n \"status\": \"approved\",\r\n \"authorizationId\": \"3baafb4097d6c8ad3883\",\r\n \"paymentUrl\": null,\r\n \"nsu\": \"214c699cb408ce6a7110\",\r\n \"tid\": \"214c699cb408ce6a7110\",\r\n \"acquirer\": null,\r\n \"code\": null,\r\n \"message\": \"Payment with custom installments approved\",\r\n \"delayToAutoSettle\": 21600,\r\n \"delayToAutoSettleAfterAntifraud\": 1800,\r\n \"delayToCancel\": 21600\r\n}\r\n```",
+ "description": "Creates a new payment and initiates the payment flow.\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\nPayment providers must:\r\n\r\n- Execute authorization on payments made through credit/debit card or any synchronized payments;\r\n\r\n- Return the required information to the customer on payments made through bank-issued invoice, redirect, or any async payments.\r\n\r\n >ℹ️ This endpoint has to meet the principle of [idempotence](https://en.wikipedia.org/wiki/Idempotence). When calling this endpoint for the first time of a payment, without a `paymentId`, it should create a new payment. When calling this endpoint for an existing `paymentId`, it should not create another payment, but return the updated status of the existing payment instead.\r\n\r\n## Callbacks (asynchronous flow)\r\n\r\nCallbacks are used for asynchronous payments, which do not receive the final status immediately. At first, an `undefined` status is returned, and the final status will be received from a callback request in the future as `authorized` or `denied`. There are two types of callbacks:\r\n\r\n- **Notification:** If a payment returns with `undefined` status, you are expected to send us a callback/notification to update it later, sending a POST with an updated version of your response (same structure as above) to the `callbackUrl` we have provided.\r\n\r\n- **Retry:** If a payment returns with `undefined` status, you are expected to call the retry endpoint provided by the `callbackUrl` when the processing of the payment is completed, so we make another Create Payment request to update the status with the new value (`authorized` or `denied`).\r\n\r\nCallback requests should be authenticated using a Key and Token which you can [generate from your VTEX partner account License Manager](https://help.vtex.com/en/tutorial/application-keys--2iffYzlvvz4BDMr6WGUtet#generating-app-keys-in-your-account). To do so, `POST` your request passing the `X-VTEX-API-AppKey` and `X-VTEX-API-AppToken` headers with your credentials. **Note:** do not mix up these credentials with the ones we send on behalf of the merchant when sending our requests.\r\n\r\n>\u26A0 For integrations not using VTEX IO, use the **Notification** callback. For integrations developed using VTEX IO infrastructure, use the **Retry** callback.\r\n\r\n### Callback URL\r\n\r\nThe `callbackUrl` field contains an URL that the payment provider uses to make a callback and inform our gateway of the final payment status: `approved` or `denied`. \r\n\r\nThis URL has some query parameters, including the `X-VTEX-signature`. This parameter is mandatory and contains a signature token to identify that the request has been generated from VTEX as a security measure. The signature token has at most 32 characters. You can check an example of callback URL with the signature token below:\r\n\r\n```\r\nhttps://gatewayqa.vtexpayments.com.br/api/pvt/payment-provider/transactions/8FB0F111111122222333344449984ACB/payments/A2A9A25B11111111222222333327883C/callback?accountName=teampaymentsintegrations&X-VTEX-signature=R******tk\r\n```\r\n\r\nIn the [Transactions page of the Admin](https://help.vtex.com/en/tutorial/how-to-view-the-orders-details--tutorials_452), the signature token appears masked for security reasons, as in this example: `X-VTEX-signature=Rj******tk`.\r\n\r\nWhen making the callback request, we recommend that payment providers use the callback URL exactly as received, which guarantees that all the parameters are included.\r\n\r\nSee below an example of a payload forwarded along with the callback URL:\r\n\r\n```json\r\n{\r\n \"paymentId\": \"8B3BA2F4352545A8B1C5A215F356A01C\",\r\n \"status\": \"approved\",\r\n \"authorizationId\": \"184520\",\r\n \"nsu\": \"21705348\",\r\n \"tid\": \"21705348\",\r\n \"acquirer\": \"pagmm\",\r\n \"code\": \"0000\",\r\n \"message\": \"Successfully approved transaction\",\r\n \"delayToAutoSettle\": 1200,\r\n \"delayToAutoSettleAfterAntifraud\": 1200,\r\n \"delayToCancel\": 86400,\r\n \"cardBrand\": \"Mastercard\",\r\n \"firstDigits\": \"534696\",\r\n \"lastDigits\": \"6921\",\r\n \"maxValue\": 16.6\r\n}\r\n```\r\n\r\n>ℹ️ The parameter values sent in the callback payload replace the original values informed in the **Create Payment** request.\r\n\r\n>⚠️ If the waiting parameters (`delayToAutoSettle` and `delayToAutoSettleAfterAntifraud`) are not sent with the callback URL, the values for these parameters will be automatically set to 24 hours.\r\n\r\n## Beta features\r\n\r\nThe beta features available for payment providers are:\r\n\r\n- `inboundRequestsUrl`: Allows to forward external requests back to your payment provider implementation, including the configured credentials (`X-VTEX-API-*` headers), and settings.\r\n\r\n>\u2139 You can reach out to our team by [opening a ticket](https://help.vtex.com/en/tutorial/opening-tickets-to-vtex-support--16yOEqpO32UQYygSmMSSAM) to know more about any beta features.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed." ,
"operationId": "CreatePayment",
"parameters": [
{
- "name": "X-VTEX-API-AppKey",
- "in": "header",
- "description": "The AppKey configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppKey}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "X-VTEX-API-AppToken",
- "in": "header",
- "description": "The AppToken configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppToken}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
- "title": "The Root",
"required": [
"reference",
"orderId",
@@ -231,7 +182,7 @@
},
"shopperInteraction": {
"type": "string",
- "description": "Indicates which system the buyer interacted with (examples: e-commerce, instore, subscription).",
+ "description": "Indicates which system the buyer interacted with (examples: ecommerce, instore, subscription).",
"example": "ecommerce"
},
"verificationOnly": {
@@ -404,7 +355,7 @@
},
"miniCart": {
"type": "object",
- "title": "Minicart information.",
+ "description": "Minicart information.",
"required": [
"shippingValue",
"taxValue",
@@ -426,7 +377,7 @@
},
"buyer": {
"type": "object",
- "title": "Buyer information.",
+ "description": "Buyer information.",
"required": [
"firstName",
"lastName",
@@ -501,8 +452,7 @@
},
"shippingAddress": {
"type": "object",
- "title": "shippingAddress",
- "description": "Shipping address. Address where the purchase will be delivered.",
+ "description": "Information about the address where the purchase will be delivered.",
"required": [
"country",
"street",
@@ -515,42 +465,42 @@
"properties": {
"country": {
"type": "string",
- "description": "Shipping address: country code (ISO 3166 alpha-3).",
+ "description": "Shipping address country code (ISO 3166 alpha-3).",
"example": "BRA"
},
"street": {
"type": "string",
- "description": "Shipping address: street.",
+ "description": "Shipping address street.",
"example": "Praia de Botafogo St."
},
"number": {
"type": "string",
- "description": "Shipping address: number.",
+ "description": "Shipping address number.",
"example": "300"
},
"complement": {
"type": "string",
- "description": "Shipping address: complement.",
+ "description": "Shipping address complement.",
"example": "3rd Floor"
},
"neighborhood": {
"type": "string",
- "description": "Shipping address: neighborhood.",
+ "description": "Shipping address neighborhood.",
"example": "Botafogo"
},
"postalCode": {
"type": "string",
- "description": "Shipping address: postal code.",
+ "description": "Shipping address postal code.",
"example": "22250040"
},
"city": {
"type": "string",
- "description": "Shipping address: city.",
+ "description": "Shipping address city.",
"example": "Rio de Janeiro"
},
"state": {
"type": "string",
- "description": "Shipping address: state/province.",
+ "description": "Shipping address state/province.",
"example": "RJ"
}
}
@@ -570,53 +520,51 @@
"properties": {
"country": {
"type": "string",
- "description": "Billing address: country code (ISO 3166 alpha-3).",
+ "description": "Billing address country code (ISO 3166 alpha-3).",
"example": "BRA"
},
"street": {
"type": "string",
- "description": "Billing address: street.",
+ "description": "Billing address street.",
"example": "Brigadeiro Faria Lima Avenue"
},
"number": {
"type": "string",
- "description": "Billing address: number.",
+ "description": "Billing address number.",
"example": "4440"
},
"complement": {
"type": "string",
- "description": "Billing address: complement.",
+ "description": "Billing address complement.",
"example": "10th Floor"
},
"neighborhood": {
"type": "string",
- "description": "Billing address: neighborhood.",
+ "description": "Billing address neighborhood.",
"example": "Itaim Bibi"
},
"postalCode": {
"type": "string",
- "description": "Billing address: postal code.",
+ "description": "Billing address postal code.",
"example": "04538132"
},
"city": {
"type": "string",
- "description": "Billing address: city.",
+ "description": "Billing address city.",
"example": "São Paulo"
},
"state": {
"type": "string",
- "description": "Billing address: state/province.",
+ "description": "Billing address state/province.",
"example": "SP"
}
}
},
"items": {
"type": "array",
- "title": "items",
"description": "Items of the cart of the purchase.",
"items": {
"type": "object",
- "title": "items",
"required": [
"id",
"name",
@@ -746,7 +694,7 @@
},
"merchantSettings": {
"type": "array",
- "description": "Custom fields (for the given Provider) which the Merchant must fill. Each element of this array is a key-value pair.",
+ "description": "Custom fields (for the given Provider) which the merchant must fill. Each element of this array is a key-value pair.",
"items": {
"type": "object",
"required": [
@@ -802,123 +750,948 @@
"example": "https://mystore.example.com/checkout/order/1072430428324"
}
}
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "OK",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "examples": {
+ "Credit Card Success Approved": {
+ "value": {
+ "reference": "618272",
+ "orderId": "1072430428324",
+ "shopperInteraction": "ecommerce",
+ "transactionId": "2F023FD5A72A49D48A8633252B7CCBD6",
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "paymentMethod": "Diners",
+ "merchantName": "mystore",
+ "card": {
+ "holder": "John Doe",
+ "number": "364901****2661",
+ "csc": "***",
+ "expiration": {
+ "month": "12",
+ "year": "2020"
+ },
+ "document": "39295416023",
+ "token": null
+ },
+ "value": 31.90,
+ "referenceValue": "31.90",
+ "currency": "BRL",
+ "installments": 1,
+ "installmentsInterestRate": 0.00,
+ "installmentsValue": 31.90,
+ "deviceFingerprint": "75076388",
+ "ipAddress": "187.105.111.65",
+ "miniCart": {
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "cpf",
+ "corporateName": null,
+ "tradeName": null,
+ "corporateDocument": null,
+ "isCorporate": false,
+ "email": "john.doe@example.com",
+ "phone": "+5521999999999",
+ "createdDate": "2020-02-18T18:17:45"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "8",
+ "name": "Tenis Preto I",
+ "price": 30.9,
+ "quantity": 1,
+ "discount": 0.0,
+ "deliveryType": "Normal",
+ "categoryId": "5",
+ "sellerId": "1"
+ }
+ ],
+ "shippingValue": 1.0,
+ "taxValue": 0.0
},
- "example": "no-cache"
+ "url": "https://admin.mystore.example.com/orders?q=1072430428324",
+ "callbackUrl": "https://api.mystore.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/1072430428324",
+ "inboundRequestsUrl": "https://api.mystore.example.com/checkout/order/1072430428324/inbound-request/:action",
+ "recipients": [
+ {
+ "id": "mymarketplace",
+ "name": "My Marketplace QA",
+ "documentType": "CNPJ",
+ "document": "99999999999999",
+ "role": "marketplace",
+ "chargeProcessingFee": true,
+ "chargebackLiable": true,
+ "amount": 31.90
+ }
+ ],
+ "merchantSettings": [
+ {
+ "name": "field1",
+ "value": "value1"
+ },
+ {
+ "name": "field2",
+ "value": "value2"
+ }
+ ]
}
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Pix Success Approved": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "Pix",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": "4307.23",
+ "referenceValue": "4307.23",
+ "currency": "BRL",
+ "installments": "1",
+ "deviceFingerprint": "15ace369587ha",
+ "card": {
+ "holder": null,
+ "number": null,
+ "csc": null,
+ "expiration": {
+ "month": null,
+ "year": null
+ }
+ },
+ "miniCart": {
+ "shippingValue": "11.44",
+ "taxValue": "10.01",
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "cpf",
+ "email": "john.doe@example.com",
+ "phone": "+5521999999999"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "keep-alive"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Success Undefined": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "Visa",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": "4000.00",
+ "currency": "BRL",
+ "installments": 3,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": "John Doe",
+ "number": "4682185088924788",
+ "csc": "021",
+ "expiration": {
+ "month": "06",
+ "year": "2029"
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "250"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "BankInvoice Success Undefined": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "BankInvoice",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4307.23,
+ "currency": "BRL",
+ "installments": 1,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": null,
+ "number": null,
+ "csc": null,
+ "expiration": {
+ "month": null,
+ "year": null
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "Mon, 18 Dec 2017 17:48:04 GMT"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Success Denied": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "Visa",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4000.00,
+ "currency": "BRL",
+ "installments": 3,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": "John Doe",
+ "number": "4682185088924788",
+ "csc": "021",
+ "expiration": {
+ "month": "06",
+ "year": "2029"
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "-1"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "BankInvoice Success Approved": {
+ "value": {
+ "reference": "618272",
+ "orderId": "1072430428324",
+ "shopperInteraction": "ecommerce",
+ "transactionId": "2F023FD5A72A49D48A8633252B7CCBD6",
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "paymentMethod": "BankInvoice",
+ "merchantName": "mystore",
+ "card": {
+ "holder": "null",
+ "number": "null",
+ "csc": "null",
+ "expiration": {
+ "month": "null",
+ "year": "null"
+ }
+ },
+ "document": null,
+ "token": null,
+ "value": 31.90,
+ "referenceValue": 31.90,
+ "currency": "BRL",
+ "installments": 1,
+ "installmentsInterestRate": 0.00,
+ "installmentsValue": 31.90,
+ "deviceFingerprint": "98073964",
+ "ipAddress": "187.105.111.65",
+ "miniCart": {
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "cpf",
+ "corporateName": null,
+ "tradeName": null,
+ "corporateDocument": null,
+ "isCorporate": false,
+ "email": "john.doe@example.com",
+ "phone": "+5521999999999",
+ "createdDate": "2020-02-18T18:17:45"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "8",
+ "name": "Tenis Preto I",
+ "price": 30.9,
+ "quantity": 1,
+ "discount": 0.0,
+ "deliveryType": "Normal",
+ "categoryId": "5",
+ "sellerId": "1"
+ }
+ ],
+ "shippingValue": 11.44,
+ "taxValue": 10.01
},
- "example": "no-cache"
+ "url": "https://admin.mystore.example.com/orders?q=1072430428324",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/1072430428324",
+ "inboundRequestsUrl": "https://api.mystore.example.com/checkout/order/1072430428324/inbound-request/:action",
+ "recipients": [
+ {
+ "id": "mymarketplace",
+ "name": "My Marketplace QA",
+ "documentType": "CNPJ",
+ "document": "99999999999999",
+ "role": "marketplace",
+ "chargeProcessingFee": true,
+ "chargebackLiable": true,
+ "amount": 31.90
+ }
+ ],
+ "merchantSettings": [
+ {
+ "name": "field1",
+ "value": "value1"
+ },
+ {
+ "name": "field2",
+ "value": "value2"
+ }
+ ]
}
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Payment App + Inbound Request Success Undefined": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "CustomPay",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4307.23,
+ "currency": "BRL",
+ "installments": 1,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": null,
+ "number": null,
+ "csc": null,
+ "expiration": {
+ "month": null,
+ "year": null
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "Microsoft-IIS/8.0"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982",
+ "inboundRequestsUrl": "https://mystore.api.example.com/some-path/inbound-request/:action"
}
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Redirect Success Undefined": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "FakePay",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4307.23,
+ "currency": "BRL",
+ "installments": 1,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": null,
+ "number": null,
+ "csc": null,
+ "expiration": {
+ "month": null,
+ "year": null
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "4.0.30319"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Redirect Success Approved": {
+ "value": {
+ "reference": "618272",
+ "orderId": "1072430428324",
+ "shopperInteraction": "ecommerce",
+ "transactionId": "2F023FD5A72A49D48A8633252B7CCBD6",
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "paymentMethod": "RedirectPay",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 31.90,
+ "referenceValue": 31.90,
+ "currency": "BRL",
+ "installments": 1,
+ "installmentsInterestRate": 0.00,
+ "installmentsValue": 31.90,
+ "deviceFingerprint": "75076388",
+ "ipAddress": "187.105.111.65",
+ "miniCart": {
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "cpf",
+ "corporateName": null,
+ "tradeName": null,
+ "corporateDocument": null,
+ "isCorporate": false,
+ "email": "john.doe@example.com",
+ "phone": "+5521999999999",
+ "createdDate": "2020-02-18T18:17:45"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "8",
+ "name": "Tenis Preto I",
+ "price": 30.9,
+ "quantity": 1,
+ "discount": 0.0,
+ "deliveryType": "Normal",
+ "categoryId": "5",
+ "sellerId": "1"
+ }
+ ],
+ "shippingValue": 1.0,
+ "taxValue": 0.0
},
- "example": "ASP.NET"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982",
+ "inboundRequestsUrl": "https://api.mystore.example.com/checkout/order/1072430428324/inbound-request/:action",
+ "recipients": [
+ {
+ "id": "mymarketplace",
+ "name": "My Marketplace QA",
+ "documentType": "CNPJ",
+ "document": "99999999999999",
+ "role": "marketplace",
+ "chargeProcessingFee": true,
+ "chargebackLiable": true,
+ "amount": 31.90
+ }
+ ],
+ "merchantSettings": [
+ {
+ "name": "field1",
+ "value": "value1"
+ },
+ {
+ "name": "field2",
+ "value": "value2"
+ }
+ ]
}
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
+ },
+ "Fail Generic Error": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "Visa",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4000.00,
+ "currency": "BRL",
+ "installments": 3,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": "John Doe",
+ "number": "4682185088924788",
+ "csc": "021",
+ "expiration": {
+ "month": "06",
+ "year": "2029"
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
+ },
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
+ }
+ },
+ "Fail Bad Request": {
+ "value": {
+ "reference": "32478982",
+ "orderId": "v967373115140abc",
+ "transactionId": "D3AA1FC8372E430E8236649DB5EBD08E",
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "paymentMethod": "Visa",
+ "paymentMethodCustomCode": null,
+ "merchantName": "mystore",
+ "value": 4307.23,
+ "referenceValue": 4000.00,
+ "currency": "BRL",
+ "installments": 3,
+ "deviceFingerprint": "12ade389087fe",
+ "card": {
+ "holder": "John Doe",
+ "number": "4682185088924788",
+ "csc": "021",
+ "expiration": {
+ "month": "06",
+ "year": "2029"
+ }
+ },
+ "miniCart": {
+ "shippingValue": 11.44,
+ "taxValue": 10.01,
+ "buyer": {
+ "id": "c1245228-1c68-11e6-94ac-0afa86a846a5",
+ "firstName": "John",
+ "lastName": "Doe",
+ "document": "01234567890",
+ "documentType": "CPF",
+ "email": "john.doe@example.com",
+ "phone": "+5521987654321"
+ },
+ "shippingAddress": {
+ "country": "BRA",
+ "street": "Praia de Botafogo St.",
+ "number": "300",
+ "complement": "3rd Floor",
+ "neighborhood": "Botafogo",
+ "postalCode": "22250040",
+ "city": "Rio de Janeiro",
+ "state": "RJ"
+ },
+ "billingAddress": {
+ "country": "BRA",
+ "street": "Brigadeiro Faria Lima Avenue",
+ "number": "4440",
+ "complement": "10th Floor",
+ "neighborhood": "Itaim Bibi",
+ "postalCode": "04538132",
+ "city": "São Paulo",
+ "state": "SP"
+ },
+ "items": [
+ {
+ "id": "132981",
+ "name": "My First Product",
+ "price": 2134.90,
+ "quantity": 2,
+ "discount": 5.00
+ },
+ {
+ "id": "123242",
+ "name": "My Second Product",
+ "price": 21.98,
+ "quantity": 1,
+ "discount": 1.00
+ }
+ ]
},
- "example": "d1584732-1e85-4e80-94d7-7db826241865"
+ "url": "https://admin.mystore.example.com/orders/v32478982",
+ "callbackUrl": "https://api.example.com/some-path/to-notify/status-changes?an=mystore",
+ "returnUrl": "https://mystore.example.com/checkout/order/v32478982"
}
}
}
- },
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success-Approved"
},
"examples": {
- "response": {
+ "Success": {
"value": {
"paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
"status": "approved",
@@ -930,20 +1703,115 @@
"delayToAutoSettleAfterAntifraud": 120,
"delayToCancel": 600
}
- }
- }
- }
- }
- },
- "400": {
- "description": "Bad Request",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Fail-BadRequest"
- },
- "examples": {
- "response": {
+ },
+ "Success - PIX": {
+ "value": {
+ "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
+ "status": "undefined",
+ "tid": "TID1578324421",
+ "authorizationId": null,
+ "nsu": null,
+ "code": "APP123",
+ "paymentAppData": {
+ "payload": "{\"code\":\"https://bacen.pix/pix/code\",\"qrCodeBase64Image\":\"iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAABQGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGDiSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAxSDMwMkgwiCZmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsgspwWXFu+Xeyundb6w0WL33C5M9SiAKyW1OBlI/wHihOSCohIGBsYYIFu5vKQAxG4AskWKgI4CsqeA2OkQ9goQOwnC3gNWExLkDGRfALIFkjMSU4DsB0C2ThKSeDoSG2ovCLAZGZkbhBNwKKmgJLWiBEQ75xdUFmWmZ5QoOAJDJ1XBMy9ZT0fByMDIgIEBFNYQ1Z9vgMOQUYwDIZapzMBgmQEUfIQQSxNmYNiZzsDAU4UQU5/PwMBrxMBw5GJBYlEi3AGM31iK04yNIGzu7QwMrNP+//8M9Ca7JgPD3+v////e/v//32UMDMy3GBgOfAMA4+RdqZ9YRkcAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAAKgAwAEAAAAAQAAAAIAAAAAQVNDSUkAAABTY3JlZW5zaG900Fpo3gAAAdJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cl89Cn4AAAASSURBVAgdY/wPBAxAwAQiQAAAPfgEAIAu9DkAAAAASUVORK5CYII=\"}"
+ },
+ "message": "The customer needs to finish the payment flow",
+ "delayToAutoSettle": 604800,
+ "delayToAutoSettleAfterAntifraud": 120,
+ "delayToCancel": 300
+ }
+ },
+ "Success - Credit Card": {
+ "value": {
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "status": "approved",
+ "authorizationId": "AUT-09DC5E8F03",
+ "nsu": "NSU-107521E866",
+ "tid": "TID-7B58BE1A08",
+ "acquirer": "TestPay",
+ "code": "2000",
+ "message": null,
+ "delayToAutoSettle": 21600,
+ "delayToAutoSettleAfterAntifraud": 1800,
+ "delayToCancel": 21600
+ }
+ },
+ "Success - Bank invoice": {
+ "value": {
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "status": "undefined",
+ "authorizationId": "AUT-2E7CBF7290-ASYNC",
+ "paymentUrl": "https://example.org/boleto/gatewayqa/2F023FD5A72A49D48A8633252B7CCBD6/01693EB95BE443AC85874E395CD91565",
+ "identificationNumber": "23790504004199031316957008109209378300000019900",
+ "identificationNumberFormatted": "23790.50400 41990.313169 57008.109209 3 78300000019900",
+ "barCodeImageType": "i25",
+ "barCodeImageNumber": "23793783000000199000504041990313165700810920",
+ "nsu": "NSU-60F328ACD8-ASYNC",
+ "tid": "TID-F3FB9B3FDB-ASYNC",
+ "acquirer": "TestPay",
+ "code": "2000-ASYNC",
+ "message": null,
+ "delayToAutoSettle": 21600,
+ "delayToAutoSettleAfterAntifraud": 1800,
+ "delayToCancel": 21600
+ }
+ },
+ "Success - Payment App": {
+ "value": {
+ "paymentId": "01693EB95BE443AC85874E395CD91565",
+ "status": "undefined",
+ "authorizationId": "AUT-6929AD8429",
+ "paymentAppData": {
+ "appName": "vtex.payment",
+ "payload": "{\"approvePaymentUrl\":\"https://api.mystore.example.com/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/callback-trigger/approved?url=https://api.mystore.example.com/transactions/D3AA1FC8372E430E8236649DB5EBD08E/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/notification\",\"denyPaymentUrl\":\"https://api.mystore.example.com/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/callback-trigger/denied?url=https://api.mystore.example.com/transactions/D3AA1FC8372E430E8236649DB5EBD08E/payments/F5C1A4E20D3B4E07B7E871F5B5BC9F91/notification\",\"orderId\":\"1072650953886\",\"transactionId\":\"D3AA1FC8372E430E8236649DB5EBD08E\",\"paymentId\":\"F5C1A4E20D3B4E07B7E871F5B5BC9F91\",\"timestamp\":\"2020-10-29 17:15:59Z\"}"
+ },
+ "nsu": "NSU-227AFD0BD2",
+ "tid": "TID-DBE4BFFB19",
+ "acquirer": "TestPay",
+ "code": "2001",
+ "message": null,
+ "delayToAutoSettle": 21600,
+ "delayToAutoSettleAfterAntifraud": 1800,
+ "delayToCancel": 21600
+ }
+ },
+ "Success - Redirect": {
+ "value": {
+ "paymentId": "7ee64e51-a0d3-4405-874c-d7497ab84572",
+ "status": "undefined",
+ "tid": "214c699cb408ce6a7110",
+ "paymentUrl": "http://php-connector.herokuapp.com/installments.php?paymentId=7ee64e51-a0d3-4405-874c-d7497ab84572"
+ }
+ },
+ "Success - Callback": {
+ "value": {
+ "paymentId": "7ee64e51-a0d3-4405-874c-d7497ab84572",
+ "status": "approved",
+ "authorizationId": "3baafb4097d6c8ad3883",
+ "paymentUrl": null,
+ "nsu": "214c699cb408ce6a7110",
+ "tid": "214c699cb408ce6a7110",
+ "acquirer": null,
+ "code": null,
+ "message": "Payment with custom installments approved",
+ "delayToAutoSettle": 21600,
+ "delayToAutoSettleAfterAntifraud": 1800,
+ "delayToCancel": 21600
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Fail-BadRequest"
+ },
+ "examples": {
+ "response": {
"value": {
"status": "error",
"code": "ERR123",
@@ -983,80 +1851,39 @@
"Payment Flow"
],
"summary": "Cancel Payment",
- "description": "Cancels a payment that was not yet approved or settled.",
+ "description": "Cancels a payment that was not yet approved or settled.\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "CancelPayment",
"parameters": [
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "X-VTEX-API-AppKey",
- "in": "header",
- "description": "The AppKey configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppKey}}"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "X-VTEX-API-AppToken",
- "in": "header",
- "description": "The AppToken configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppToken}}"
- }
+ "$ref": "#/components/parameters/Accept"
},
{
- "name": "paymentId",
- "in": "path",
- "description": "VTEX payment identifier",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string"
- }
+ "$ref": "#/components/parameters/paymentId"
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelPaymentRequest"
- },
- "example": {
- "paymentId": "{{paymentId}}",
- "requestId": "{{requestId}}"
}
}
},
@@ -1064,111 +1891,9 @@
},
"responses": {
"200": {
- "description": "",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "keep-alive"
- }
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "195"
- }
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Wed, 20 Dec 2017 19:24:56 GMT"
- }
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "-1"
- }
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Microsoft-IIS/8.0"
- }
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "4.0.30319"
- }
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "ASP.NET"
- }
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "a356f861-1a30-4260-82ae-938476b30fbf"
- }
- }
- }
- },
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success1"
},
@@ -1238,72 +1963,35 @@
"Payment Flow"
],
"summary": "Settle Payment",
- "description": "Settles a payment that was previously approved.",
+ "description": "Settles a payment that was previously approved.\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "SettlePayment",
"parameters": [
{
- "name": "X-VTEX-API-AppKey",
- "in": "header",
- "description": "The AppKey configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppKey}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "X-VTEX-API-AppToken",
- "in": "header",
- "description": "The AppToken configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppToken}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
},
{
- "name": "paymentId",
- "in": "path",
- "description": "VTEX payment identifier",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string"
- }
+ "$ref": "#/components/parameters/paymentId"
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
@@ -1315,111 +2003,9 @@
},
"responses": {
"200": {
- "description": "",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "keep-alive"
- }
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "86"
- }
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Wed, 20 Dec 2017 19:28:24 GMT"
- }
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "-1"
- }
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Microsoft-IIS/8.0"
- }
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "4.0.30319"
- }
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "ASP.NET"
- }
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "33189b5d-daa0-4974-8989-47a408752bb8"
- }
- }
- }
- },
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success2"
},
@@ -1470,72 +2056,35 @@
"Payment Flow"
],
"summary": "Refund Payment",
- "description": "Refunds a payment that was previously settled. You can expect partial refunds.",
+ "description": "Refunds a payment (in full or in part) that was previously settled.\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "RefundPayment",
"parameters": [
{
- "name": "X-VTEX-API-AppKey",
- "in": "header",
- "description": "The AppKey configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppKey}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "X-VTEX-API-AppToken",
- "in": "header",
- "description": "The AppToken configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppToken}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
},
{
- "name": "paymentId",
- "in": "path",
- "description": "VTEX payment identifier",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string"
- }
+ "$ref": "#/components/parameters/paymentId"
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
@@ -1547,111 +2096,9 @@
},
"responses": {
"200": {
- "description": "",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "keep-alive"
- }
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "86"
- }
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Wed, 20 Dec 2017 19:34:57 GMT"
- }
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "-1"
- }
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Microsoft-IIS/8.0"
- }
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "4.0.30319"
- }
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "ASP.NET"
- }
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "d91fb3a7-b233-4d7a-b3d2-75263856d29a"
- }
- }
- }
- },
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success3"
},
@@ -1718,78 +2165,39 @@
"deprecated": false
}
},
- "/payments/{paymentId}/inbound-request/{action}": {
+ "/payments/{paymentId}/inbound/{action}": {
"post": {
"tags": [
"Payment Flow"
],
"summary": "Inbound Request (BETA)",
- "description": "Forwards a request back to your endpoint using the `inboundRequestsUrl` provided in the POST `/payments` payload.\r\n\r\nThe `{action}` part of the path will be the same you have used to call the `inboundRequestsUrl`.",
+ "description": "The Inbound Request (BETA) implements an URL that facilitates a direct connection between VTEX Gateway service and the Payment Provider. This functionality allows the payment provider to create other types of specific routes, in addition to those described in the other PPP endpoints, according to their type of operation (e.g. hook or enrollment routes, among others). \r\n\r\nThis endpoint forwards a request back to your endpoint using the `inboundRequestsUrl` provided in the [Create Payment](https://developers.vtex.com/docs/api-reference/payment-provider-protocol#post-/payments?endpoint=post-/payments) endpoint payload.\r\n\r\nThe `{action}` part of the path will be the same you have used to call the `inboundRequestsUrl` (e.g. hook, enrollment, among others).\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "InboundRequest(BETA)",
"parameters": [
{
- "name": "action",
- "in": "path",
- "description": "Will be the same you have used to call the `inboundRequestsUrl`",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "example": "{{action}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "X-VTEX-API-AppKey",
- "in": "header",
- "description": "The AppKey configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppKey}}"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "X-VTEX-API-AppToken",
- "in": "header",
- "description": "The AppToken configured by the merchant (optional configuration)",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "{{X-VTEX-API-AppToken}}"
- }
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/paymentId"
},
{
- "name": "paymentId",
+ "name": "action",
"in": "path",
- "description": "VTEX payment identifier",
+ "description": "Describes the type of action that will be performed on the route (e.g. hook, enrollment, among others). It is the same `:action` information used in the `inboundRequestsUrl` provided in the [Create Payment](https://developers.vtex.com/docs/api-reference/payment-provider-protocol#post-/payments?endpoint=post-/payments) endpoint payload.",
"required": true,
"style": "simple",
"schema": {
- "type": "string"
+ "type": "string",
+ "example": "hook"
}
}
],
@@ -1797,24 +2205,16 @@
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InboundRequest_BETA_Request"
- },
- "example": {
- "requestId": "{{requestId}}",
- "transactionId": "{{transactionId}}",
- "paymentId": "{{paymentId}}",
- "authorizationId": "{{authorizationId}}",
- "tid": "{{tid}}",
- "requestData": {
- "body": "{{originalRequestBody}}"
- }
}
}
},
@@ -1822,8 +2222,7 @@
},
"responses": {
"200": {
- "description": "",
- "headers": {},
+ "description": "OK",
"content": {
"application/json": {
"schema": {
@@ -1855,48 +2254,36 @@
"Configuration Flow"
],
"summary": "Create Authorization Token",
- "description": "Create token that will be used to identify the same context when we redirect the merchant to your application.",
+ "description": "Creates the authorization token that will be used for VTEX to redirect the merchant to the provider's authentication application. For more information about the Payment Provider Protocol (PPP) merchant authentication procedure, visit [Configuration Flow](https://developers.vtex.com/docs/guides/payments-integration-implementing-a-payment-provider#configuration-flow).\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "CreateAuthorizationToken",
"parameters": [
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
+ },
+ {
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
+ },
+ {
+ "$ref": "#/components/parameters/Content-Type"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Accept"
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"requestBody": {
- "description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAuthorizationTokenRequest"
- },
- "example": {
- "applicationId": "vtex",
- "returnUrl": "https://admin.mystore.example.com/provider-return?authorizationCode="
}
}
},
@@ -1904,111 +2291,9 @@
},
"responses": {
"200": {
- "description": "",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "keep-alive"
- }
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "71"
- }
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Mon, 16 Jul 2018 15:10:44 GMT"
- }
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "-1"
- }
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Microsoft-IIS/8.0"
- }
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "4.0.30319"
- }
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "ASP.NET"
- }
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "d8f17ed2-ba9f-4f6d-8f8c-52bd425d7a52"
- }
- }
- }
- },
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success5"
},
@@ -2033,42 +2318,23 @@
"Configuration Flow"
],
"summary": "Provider Authentication",
- "description": "Use the application of provider for merchant's authentication.\r\n\r\nVTEX will redirect the merchant to your application using the `token` we retrieved earlier.\r\n\r\nYou're expected to have a signup/signin process on your side in order to authenticate the merchant, either as a new or as an existent user.\r\n\r\nAt this point, you can present your terms an conditions, a contract, and ask for merchant's final agreement to use your services.\r\n\r\nFinally, you need to generate an `authorizationCode` that you must concatenate to the `returnUrl` we send earlier.\r\n\r\nExample:\r\n\r\n`returnUrl` = `https://admin.mystore.example.com/provider-return?authorizationCode=`\r\n\r\n`authorizationCode` = `7940597D-A63B`\r\n\r\nRedirect the merchant to:\r\n\r\n`https://admin.mystore.example.com/provider-return?authorizationCode=7940597D-A63B`",
+ "description": "Use the application of provider for merchant's authentication.\r\n\r\nVTEX will redirect the merchant to your application using the `token` we retrieved earlier.\r\n\r\nYou're expected to have a signup/signin process on your side in order to authenticate the merchant, either as a new or as an existent user.\r\n\r\nAt this point, you can present your terms an conditions, a contract, and ask for merchant's final agreement to use your services.\r\n\r\nFinally, you need to generate an `authorizationCode` that you must concatenate to the `returnUrl` we send earlier.\r\n\r\nExample:\r\n\r\n`returnUrl` = `https://admin.mystore.example.com/provider-return?authorizationCode=`\r\n\r\n`authorizationCode` = `7940597D-A63B`\r\n\r\nRedirect the merchant to:\r\n\r\n`https://admin.mystore.example.com/provider-return?authorizationCode=7940597D-A63B` \r\n\r\n For more information about the Payment Provider Protocol (PPP) merchant authentication procedure, visit [Configuration Flow](https://developers.vtex.com/docs/guides/payments-integration-implementing-a-payment-provider#configuration-flow).\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "ProviderAuthentication",
"parameters": [
{
- "name": "applicationId",
- "in": "query",
- "description": "VTEX application identifier",
- "required": true,
- "style": "form",
- "explode": true,
- "schema": {
- "type": "string",
- "example": "vtex"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
},
{
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
},
{
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
+ "$ref": "#/components/parameters/Content-Type"
+ },
+ {
+ "$ref": "#/components/parameters/Accept"
+ },
+ {
+ "$ref": "#/components/parameters/applicationId"
},
{
"name": "token",
@@ -2087,12 +2353,14 @@
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"responses": {
"200": {
- "description": "",
- "headers": {}
+ "description": "OK. This endpoint does not return any data in the response body."
}
},
"deprecated": false
@@ -2104,25 +2372,28 @@
"Configuration Flow"
],
"summary": "Get Credentials",
- "description": "Get the credentials of merchant.",
+ "description": "Retrieves the merchant credentials (applicationId, appKey and appToken) registered with the payment provider. These credentials will be saved in the VTEX system and activated when the retailer decides to enable the connector.\r\n\r\n For more information about the Payment Provider Protocol (PPP) merchant authentication procedure, visit [Configuration Flow](https://developers.vtex.com/docs/guides/payments-integration-implementing-a-payment-provider#configuration-flow).\r\n\r\n> ℹ️ This request is made from VTEX to the payment provider.\r\n\r\n## Permissions\r\n\r\nCheck with your service provider to know what permissions are needed.",
"operationId": "GetCredentials",
"parameters": [
{
- "name": "applicationId",
- "in": "query",
- "description": "VTEX application identifier",
- "required": true,
- "style": "form",
- "explode": true,
- "schema": {
- "type": "string",
- "example": "vtex"
- }
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppKey"
+ },
+ {
+ "$ref": "#/components/parameters/X-PROVIDER-API-AppToken"
+ },
+ {
+ "$ref": "#/components/parameters/Content-Type"
+ },
+ {
+ "$ref": "#/components/parameters/Accept"
+ },
+ {
+ "$ref": "#/components/parameters/applicationId"
},
{
"name": "authorizationCode",
"in": "query",
- "description": "Code generate by affiliation that will be used to identify the merchant authorization",
+ "description": "Code generate by affiliation that will be used to identify the merchant authorization.",
"required": true,
"style": "form",
"explode": true,
@@ -2130,143 +2401,22 @@
"type": "string",
"example": "{{authorizationCode}}"
}
- },
- {
- "name": "Content-Type",
- "in": "header",
- "description": "The Media type of the body of the request. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
- },
- {
- "name": "Accept",
- "in": "header",
- "description": "Media type(s) that is/are acceptable for the response. Default value for payment provider protocol is application/json",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string",
- "default": "application/json"
- }
}
],
"security": [
{
"appKey": [],
"appToken": []
+ },
+ {
+ "VtexIdclientAutCookie": []
}
],
"responses": {
"200": {
- "description": "",
- "headers": {
- "Cache-Control": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Connection": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "keep-alive"
- }
- }
- },
- "Content-Length": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "122"
- }
- }
- },
- "Date": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Mon, 16 Jul 2018 14:22:51 GMT"
- }
- }
- },
- "Expires": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "-1"
- }
- }
- },
- "Pragma": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "no-cache"
- }
- }
- },
- "Server": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "Microsoft-IIS/8.0"
- }
- }
- },
- "X-AspNet-Version": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "4.0.30319"
- }
- }
- },
- "X-Powered-By": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "ASP.NET"
- }
- }
- },
- "x-vtex-operation-id": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "187e390e-8cf8-4f42-a376-242f5ef4f740"
- }
- }
- }
- },
+ "description": "OK",
"content": {
- "application/json; charset=utf-8": {
+ "application/json": {
"schema": {
"$ref": "#/components/schemas/Success6"
},
@@ -2290,7 +2440,6 @@
"components": {
"schemas": {
"Success": {
- "title": "Success",
"required": [
"paymentMethods"
],
@@ -2317,7 +2466,6 @@
}
},
"Success-Manifest": {
- "title": "Success-Manifest",
"required": [
"paymentMethods"
],
@@ -2339,7 +2487,8 @@
},
"allowsSplit": {
"type": "string",
- "description": "Describes which transaction flow stage the connector should receive payment split data. Accepted values: `onAuthorize`, `onCapture`, `disabled`. Check more details on the [Split Payouts on the Payment Provider Protocol](https://developers.vtex.com/vtex-rest-api/docs/split-payouts-on-payment-provider-protocol) article."
+ "description": "Describes which transaction flow stage the connector should receive payment split data. Check more details on the [Split Payouts on the Payment Provider Protocol](https://developers.vtex.com/vtex-rest-api/docs/split-payouts-on-payment-provider-protocol) article.",
+ "enum": ["onAuthorize", "onCapture", "disabled"]
}
}
}
@@ -2356,7 +2505,8 @@
},
"type": {
"type": "string",
- "description": "Custom field type. Accepted values: `text`, `password` and `select.`"
+ "description": "Custom field type.",
+ "enum": ["text", "password", "select"]
},
"options": {
"type": "array",
@@ -2396,62 +2546,6 @@
}
}
}
- },
- "example": {
- "paymentMethods": [
- {
- "name": "Visa",
- "allowsSplit": "onCapture"
- },
- {
- "name": "Pix",
- "allowsSplit": "disabled"
- },
- {
- "name": "Mastercard",
- "allowsSplit": "onCapture"
- },
- {
- "name": "American Express",
- "allowsSplit": "onCapture"
- },
- {
- "name": "BankInvoice",
- "allowsSplit": "onAuthorize"
- },
- {
- "name": "Privatelabels",
- "allowsSplit": "disabled"
- },
- {
- "name": "Promissories",
- "allowsSplit": "disabled"
- }
- ],
- "customFields": [
- {
- "name": "Merchant's custom field",
- "type": "text"
- },
- {
- "name": "Merchant's custom select field",
- "type": "select",
- "options": [
- {
- "text": "Field option 1",
- "value": "1"
- },
- {
- "text": "Field option 2",
- "value": "2"
- },
- {
- "text": "Field option 3",
- "value": "3"
- }
- ]
- }
- ]
}
},
"Success-Approved": {
@@ -2581,7 +2675,6 @@
}
},
"Fail-BadRequest": {
- "title": "Fail-BadRequest",
"required": [
"status",
"code",
@@ -2601,15 +2694,9 @@
"type": "string",
"description": "Provider's operation/error message to be logged."
}
- },
- "example": {
- "status": "error",
- "code": "ERR123",
- "message": "The currency ABC is not supported"
}
},
"CancelPaymentRequest": {
- "title": "CancelPaymentRequest",
"required": [
"paymentId",
"requestId"
@@ -2618,24 +2705,27 @@
"properties": {
"paymentId": {
"type": "string",
- "description": "VTEX payment identifier."
+ "description": "VTEX payment identifier.",
+ "example": "F5C1A4E20D3B4E07B7E871F5B5BC9F91"
},
"requestId": {
"type": "string",
- "description": "VTEX request identifier."
+ "description": "VTEX request identifier.",
+ "example": "D12D9B80972C462980F5067A3A126837"
},
"authorizationId": {
"type": "string",
- "description": "Payment authorization identifier (in case it was authorized previous to the cancellation request)."
+ "description": "Payment authorization identifier (in case it was authorized previous to the cancellation request).",
+ "example": "5784589"
},
"sandboxMode": {
"type": "boolean",
- "description": "Indicates whether or not this request is being sent from a sandbox environment."
+ "description": "Indicates whether or not this request is being sent from a sandbox environment.",
+ "default": false
},
"merchantSettings": {
"type": "array",
- "title": "merchantSettings",
- "description": "Custom fields (for the given Provider) which the Merchant must fill. Each element of this array is a key-value pair.",
+ "description": "Custom fields (for the given provider) which the merchant must fill. Each element of this array is a key-value pair.",
"items": {
"type": "object",
"required": [
@@ -2645,23 +2735,20 @@
"properties": {
"name": {
"type": "string",
- "description": "The custom field name."
+ "description": "The custom field name.",
+ "example": "Public Merchant ID Test."
},
"value": {
"type": "string",
- "description": "The custom field value."
+ "description": "The custom field value.",
+ "example": 1
}
}
}
}
- },
- "example": {
- "paymentId": "{{paymentId}}",
- "requestId": "{{requestId}}"
}
},
"Success1": {
- "title": "Success1",
"required": [
"paymentId",
"cancellationId",
@@ -2692,17 +2779,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "cancellationId": "1231323234234",
- "code": null,
- "message": "Successfully cancelled",
- "requestId": "D12D9B80972C462980F5067A3A126837"
}
},
"Fail-GenericError1": {
- "title": "Fail-GenericError1",
"required": [
"paymentId",
"cancellationId",
@@ -2733,17 +2812,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "cancellationId": null,
- "code": "ERR123",
- "message": "Cancellation has failed due to an internal error",
- "requestId": "D12D9B80972C462980F5067A3A126837"
}
},
"Success2": {
- "title": "Success2",
"required": [
"paymentId",
"settleId",
@@ -2779,18 +2850,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "settleId": "2EA354989E7E4BBC9F9D7B66674C2574",
- "value": 57,
- "code": null,
- "message": "Successfully settled",
- "requestId": "DCEAA1FC8372E430E8236649DB5EBD08E"
}
},
"Fail-GenericError2": {
- "title": "Fail-GenericError2",
"required": [
"paymentId",
"settleId",
@@ -2827,18 +2889,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "settleId": null,
- "value": 0,
- "code": "ERR123",
- "message": "Settlement has failed due to an internal error",
- "requestId": "DCEAA1FC8372E430E8236649DB5EBD08E"
}
},
"Success3": {
- "title": "Success3",
"required": [
"paymentId",
"refundId",
@@ -2874,18 +2927,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "refundId": "2EA354989E7E4BBC9F9D7B66674C2574",
- "value": 57,
- "code": null,
- "message": "Successfully refunded",
- "requestId": "LA4E20D3B4E07B7E871F5B5BC9F91"
}
},
"Fail-GenericError3": {
- "title": "Fail-GenericError3",
"required": [
"paymentId",
"refundId",
@@ -2922,18 +2966,9 @@
"type": "string",
"description": "The same `requestId` sent in the request."
}
- },
- "example": {
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "refundId": null,
- "value": 0,
- "code": "ERR123",
- "message": "Refund has failed due to an internal error",
- "requestId": "LA4E20D3B4E07B7E871F5B5BC9F91"
}
},
"SettlePayment": {
- "title": "SettlePayment",
"required": [
"transactionId",
"requestId",
@@ -3028,8 +3063,7 @@
},
"merchantSettings": {
"type": "array",
- "title": "merchantSettings",
- "description": "Custom fields (for the given Provider) which the Merchant must fill. Each element of this array is a key-value pair.",
+ "description": "Custom fields (for the given provider) which the merchant must fill. Each element of this array is a key-value pair.",
"items": {
"type": "object",
"required": [
@@ -3078,11 +3112,17 @@
"amount": 37.8,
"commissionAmount": 7.2
}
+ ],
+ "sandboxMode": false,
+ "merchantSettings": [
+ {
+ "name": "Public Merchant ID Test.",
+ "value": "1"
+ }
]
}
},
"RefundPayment": {
- "title": "RefundPayment",
"required": [
"requestId",
"settleId",
@@ -3177,8 +3217,7 @@
},
"merchantSettings": {
"type": "array",
- "title": "merchantSettings",
- "description": "Custom fields (for the given Provider) which the Merchant must fill. Each element of this array is a key-value pair.",
+ "description": "Custom fields (for the given provider) which the merchant must fill. Each element of this array is a key-value pair.",
"items": {
"type": "object",
"required": [
@@ -3223,11 +3262,17 @@
"amount": 13.8,
"comissionAmount": 3.0
}
+ ],
+ "sandboxMode": false,
+ "merchantSettings": [
+ {
+ "name": "Public Merchant ID Test.",
+ "value": "1"
+ }
]
}
},
"InboundRequest_BETA_Request": {
- "title": "InboundRequest(BETA)Request",
"required": [
"requestId",
"transactionId",
@@ -3240,31 +3285,35 @@
"properties": {
"requestId": {
"type": "string",
- "description": "The unique identifier for this request to ensure its idempotency."
+ "description": "The unique identifier for this request to ensure its idempotency.",
+ "example": "LA4E20D3B4E07B7E871F5B5BC9F91"
},
"transactionId": {
"type": "string",
- "description": "VTEX transaction ID related to this payment."
+ "description": "VTEX transaction ID related to this payment.",
+ "example": "D3AA1FC8372E430E8236649DB5EBD08E"
},
"paymentId": {
"type": "string",
- "description": "VTEX payment ID from this payment."
+ "description": "VTEX payment ID from this payment.",
+ "example": "F5C1A4E20D3B4E07B7E871F5B5BC9F91"
},
"authorizationId": {
"type": "string",
- "description": "Provider's unique identifier for the authorization."
+ "description": "Provider's unique identifier for the authorization.",
+ "example": "AUT123567"
},
"tid": {
"type": "string",
- "description": "Provider's unique identifier for the transaction."
+ "description": "Provider's unique identifier for the transaction.",
+ "example": "10022005181543584603"
},
"requestData": {
"$ref": "#/components/schemas/RequestData"
},
"merchantSettings": {
"type": "array",
- "title": "merchantSettings",
- "description": "Custom fields (for the given Provider) which the Merchant must fill. Each element of this array is a key-value pair.",
+ "description": "Custom fields (for the given provider) which the merchant must fill. Each element of this array is a key-value pair.",
"items": {
"type": "object",
"required": [
@@ -3274,44 +3323,34 @@
"properties": {
"name": {
"type": "string",
- "description": "The custom field name."
+ "description": "The custom field name.",
+ "example": "Public Merchant ID Test."
},
"value": {
"type": "string",
- "description": "The custom field value."
+ "description": "The custom field value.",
+ "example": 1
}
}
}
}
- },
- "example": {
- "requestId": "{{requestId}}",
- "transactionId": "{{transactionId}}",
- "paymentId": "{{paymentId}}",
- "authorizationId": "{{authorizationId}}",
- "tid": "{{tid}}",
- "requestData": {
- "body": "{{originalRequestBody}}"
- }
}
},
"RequestData": {
- "title": "RequestData",
"required": [
"body"
],
"type": "object",
+ "description": "Request data information.",
"properties": {
"body": {
- "type": "string"
+ "type": "string",
+ "description": "Original request body information.",
+ "example": "{{originalRequestBody}}"
}
- },
- "example": {
- "body": "{{originalRequestBody}}"
}
},
"Success4": {
- "title": "Success4",
"required": [
"requestId",
"paymentId",
@@ -3338,19 +3377,9 @@
"responseData": {
"$ref": "#/components/schemas/ResponseData"
}
- },
- "example": {
- "requestId": "LA4E20D3B4E07B7E871F5B5BC9F91",
- "paymentId": "F5C1A4E20D3B4E07B7E871F5B5BC9F91",
- "responseData": {
- "statusCode": 200,
- "contentType": "application/json",
- "content": "{\"myAttribute\":\"anyValue\"}"
- }
}
},
"ResponseData": {
- "title": "ResponseData",
"required": [
"statusCode",
"contentType",
@@ -3371,15 +3400,9 @@
"type": "string",
"description": "Your desired content body."
}
- },
- "example": {
- "statusCode": 200,
- "contentType": "application/json",
- "content": "{\"myAttribute\":\"anyValue\"}"
}
},
"CreateAuthorizationTokenRequest": {
- "title": "CreateAuthorizationTokenRequest",
"required": [
"applicationId",
"returnUrl"
@@ -3388,20 +3411,17 @@
"properties": {
"applicationId": {
"type": "string",
- "description": "VTEX application identifier."
+ "description": "VTEX application identifier.",
+ "example": "vtex"
},
"returnUrl": {
"type": "string",
- "description": "The base URL you need to use to form the final URL when redirecting the merchant back to VTEX."
+ "description": "The base URL you need to use to form the final URL when redirecting the merchant back to VTEX.",
+ "example":"https://admin.mystore.example.com/provider-return?authorizationCode="
}
- },
- "example": {
- "applicationId": "vtex",
- "returnUrl": "https://admin.mystore.example.com/provider-return?authorizationCode="
}
},
"Success5": {
- "title": "Success5",
"required": [
"applicationId",
"token"
@@ -3416,14 +3436,9 @@
"type": "string",
"description": "You must generate a token that will be used to identify the same context when we redirect the merchant to your application."
}
- },
- "example": {
- "applicationId": "vtex",
- "token": "358a5bea-07d0-4122-888a-54ab70b5f02f"
}
},
"Success6": {
- "title": "Success6",
"required": [
"applicationId",
"appKey",
@@ -3443,11 +3458,6 @@
"type": "string",
"description": "The value we will send in the header `X-VTEX-API-AppToken` for the payment flow."
}
- },
- "example": {
- "applicationId": "vtex",
- "appKey": "c5a5e3f1-4a77-4a00-8b53-0d1adb3e9628",
- "appToken": "57ea254d-f3d3-488d-88d7-129766037ed1"
}
}
},
@@ -3456,24 +3466,97 @@
"type": "apiKey",
"in": "header",
"name": "X-VTEX-API-AppKey",
- "description": "Unique identifier of the [application key](https://help.vtex.com/en/tutorial/application-keys--2iffYzlvvz4BDMr6WGUtet)."
+ "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)."
},
"appToken": {
"type": "apiKey",
"in": "header",
"name": "X-VTEX-API-AppToken",
- "description": "Secret token of the [application key](https://help.vtex.com/en/tutorial/application-keys--2iffYzlvvz4BDMr6WGUtet)."
+ "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)."
+ },
+ "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."
+ }
+ },
+ "parameters": {
+ "X-PROVIDER-API-AppKey": {
+ "name": "X-PROVIDER-API-AppKey",
+ "in": "header",
+ "description": "Unique identifier created by the provider and configured on the provider configuration page (Admin VTEX). To use this header as authorization, check that the `usesProviderHeadersName` field is set to `true` in the payment provider's `configuration.json`. To check the `configuration.json` file, access the route {{connector}}/paymentProvider/configuration.json.",
+ "required": true,
+ "style": "simple",
+ "schema": {
+ "type": "string",
+ "example": "{{X-PROVIDER-API-AppKey}}"
+ }
+ },
+ "X-PROVIDER-API-AppToken": {
+ "name": "X-PROVIDER-API-AppToken",
+ "in": "header",
+ "description": "Unique token created by the provider and configured on the provider configuration page (Admin VTEX). To use this header as authorization, check that the `usesProviderHeadersName` field is set to `true` in the payment provider's `configuration.json`. To check the `configuration.json` file, access the route {{connector}}/paymentProvider/configuration.json",
+ "required": true,
+ "style": "simple",
+ "schema": {
+ "type": "string",
+ "example": "{{X-PROVIDER-API-AppToken}}"
+ }
+ },
+ "Content-Type": {
+ "name": "Content-Type",
+ "in": "header",
+ "description": "Type of the content being sent.",
+ "required": true,
+ "style": "simple",
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ },
+ "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"
+ }
+ },
+ "paymentId": {
+ "name": "paymentId",
+ "in": "path",
+ "description": "VTEX payment identifier.",
+ "required": true,
+ "style": "simple",
+ "schema": {
+ "type": "string",
+ "example": "F5C1A4E20D3B4E07B7E871F5B5BC9F91"
+ }
+ },
+ "applicationId": {
+ "name": "applicationId",
+ "in": "query",
+ "description": "VTEX application identifier.",
+ "required": true,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "type": "string",
+ "example": "vtex"
+ }
}
}
},
"tags": [
{
- "name": "Payment Flow",
- "description": "Here we describe each operation you need to implement for the payment flow."
+ "name": "Payment Flow"
},
{
- "name": "Configuration Flow",
- "description": "Here we describe each operation you need to implement to enable the optional configuration flow.\n\nThis is an easier way to allow VTEX merchants to enable your connector, and be ready to use it without having to copy/paste any credentials (`AppKey`/`AppToken`)."
+ "name": "Configuration Flow"
}
]
}
| | | | | | | | | | | | | | | | | | | | |