{
  "info": {
    "_postman_id": "9a635f81c31b087246f233c0a68749b1",
    "name": "Gateway (English)",
    "description": "Collection automatically generated from the OpenAPI definition published in Placetopay Docs. The base_url variable is already set with the testing environment address.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://api-co-dev.placetopay.ws"
    }
  ],
  "item": [
    {
      "name": "Information request",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/information",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "information"
          ]
        },
        "description": "This service provides information about the user's card that is going to be processed, such as what services will be used for it and the types of credit, if applicable, that are available for it. If there are no types of credit, an arrangement is returned. empty and if there are, each type of credit must be iterated with the installments found in the arrangement.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"NjE0OWVkODgwYjNhNw==\",\n    \"seed\": \"2021-09-21T09:34:48-05:00\"\n  },\n  \"payment\": {\n    \"reference\": \"1234567890\",\n    \"description\": \"Testing Payment\",\n    \"amount\": {\n      \"currency\": \"COP\",\n      \"total\": \"3000\"\n    }\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"4110760000000008\"\n    }\n  },\n  \"ipAddress\": \"127.0.0.1\",\n  \"userAgent\": \"Testing\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Transaction processing",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/process",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "process"
          ]
        },
        "description": "This service allows the payment to be made to the user's card, the parameters of the instrument are variables, if type of credit or OTP is not requested, it is not necessary to send these variables, payer is always required, buyer is optional but recommended."
      }
    },
    {
      "name": "Tokenization (tokenize)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/tokenize",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "tokenize"
          ]
        },
        "description": "This service allows you to store a payment instrument such as: credit cards or bank account safely, through a request that contains its information, a token will be generated that can be used in the processing service and for all Indeed, in Placetopay it is equivalent to a credit card or bank account, the difference is that the token structure is sent instead of card or account.\nPrior to consuming this service, the information must be consulted to know whether or not it is necessary to generate an OTP for the client and, if necessary, request the token from the person and send it during consumption.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"NjBjYjc3YTYwZGZhYw==\",\n    \"seed\": \"2021-06-17T11:26:14-05:00\"\n  },\n  \"payer\": {\n    \"name\": \"John\",\n    \"surname\": \"Doe\",\n    \"email\": \"user_email@example.com\"\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"5180300000000005\",\n      \"expiration\": \"12/18\",\n      \"cvv\": \"123\"\n    }\n  },\n  \"ipAddress\": \"127.0.0.1\",\n  \"userAgent\": \"Testing\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Tokenization (invalidate)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/invalidate",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "invalidate"
          ]
        },
        "description": "This service allows you to invalidate and delete a token associated with a credit card.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"/svw0VZ1UML5qEmaPbefQO7OXt098zOdfWsc/vHclGM=\",\n    \"nonce\": \"NjQ0MWFlNGY0MWE1OQ==\",\n    \"seed\": \"2023-04-20T16:27:43-05:00\"\n  },\n  \"instrument\": {\n    \"token\": {\n      \"token\": \"faketoken12f233bd8f5d42138d681bf07ea8295429df07a4af287703e30c891\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Operations on a transaction",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/transaction",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "transaction"
          ]
        },
        "description": "Allows you to perform a reversal, re-authorization, refund, checkout, confirmation or cancellation on an existing transaction",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"MzgwYWYwMjc2ZWUzODA5YmI1MDQ1YmNjYzdlNzY1MTY=\",\n    \"seed\": \"2021-03-02T17:03:50+01:00\"\n  },\n  \"internalReference\": \"1505723583\",\n  \"authorization\": \"999999\",\n  \"action\": \"reverse\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Transaction query by internal reference",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/query",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "query"
          ]
        },
        "description": "Allows you to consult a particular transaction using its internal reference",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"MzgwYWYwMjc2ZWUzODA5YmI1MDQ1YmNjYzdlNzY1MTY=\",\n    \"seed\": \"2021-03-02T17:03:50+01:00\"\n  },\n  \"internalReference\": \"230364\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Transaction search",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/search",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "search"
          ]
        },
        "description": "This service must be consumed if the card requires interest to be displayed (`displayInterest` set to `true`) or its credit conditions allow it (see condition in [Credits by provider](/en/gateway/additional-data/#additional-data-credit-providers)). It is available for flows that expose interest calculation, including Ecuador and Chile with PAYSTUDIO `TS` flavour.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"+FSGHsW3e6WrrHcIdBmqI+j6FFeUN4bidfPL7LeZgvE=\",\n    \"nonce\": \"N2YzMGM1M2QxOTU3YzZmMzVlYmIzZTAyOGMwNjNkMmU=\",\n    \"seed\": \"2021-03-03T19:40:37+01:00\"\n  },\n  \"reference\": \"TEST_20171108_144400\",\n  \"amount\": {\n    \"currency\": \"COP\",\n    \"total\": 1000\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Interest Calculation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/interests",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "interests"
          ]
        },
        "description": "This service must be consumed if the card requires interest to be displayed (`displayInterest` set to `true`). It is available for flows that expose interest calculation, including Ecuador and Chile with PAYSTUDIO `TS` flavour. In PAYSTUDIO `TS` flavour, send the selected installment in `instrument.credit.installment` together with the `kind` returned by the information service."
      }
    },
    {
      "name": "OTP generation (Ecuador only)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/otp/generate",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "otp",
            "generate"
          ]
        },
        "description": "This service is consumed if the OTP is required for the card provided by the client (requireOtp is true) and the user must be allowed to enter the OTP to send it later in the processing service, as an example this is captured in the interface redirection",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"q/7k0WUshvLEpQ5gqNWqne+ZfWXSXUP/b7T80TuAUSY=\",\n    \"nonce\": \"NjE0YTM3OGIwNjA2NA==\",\n    \"seed\": \"2021-09-21T14:50:35-05:00\"\n  },\n  \"payer\": {\n    \"name\": \"John\",\n    \"email\": \"user_email@example.com\"\n  },\n  \"payment\": {\n    \"reference\": \"1234567890\",\n    \"amount\": {\n      \"currency\": \"USD\",\n      \"total\": \"3\"\n    }\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"36545400000008\",\n      \"expiration\": \"12/20\",\n      \"cvv\": \"123\"\n    }\n  },\n  \"ipAddress\": \"127.0.0.1\",\n  \"userAgent\": \"Testing\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "OTP validation (Ecuador only)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/otp/validate",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "otp",
            "validate"
          ]
        },
        "description": "It allows you to validate that the OTP provided matches the one sent by the provider and will provide a signature that serves to authenticate the transaction\n> Important Note > > It is necessary to send the returned value as `signature` in the response as `instrument.otp` in the processing request so that it is recorded in the transaction",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"q/7k0WUshvLEpQ5gqNWqne+ZfWXSXUP/b7T80TuAUSY=\",\n    \"nonce\": \"NjE0YTM3OGIwNjA2NA==\",\n    \"seed\": \"2021-09-21T14:50:35-05:00\"\n  },\n  \"payer\": {\n    \"name\": \"John\",\n    \"email\": \"user_email@example.com\"\n  },\n  \"payment\": {\n    \"reference\": \"1234567890\",\n    \"amount\": {\n      \"currency\": \"USD\",\n      \"total\": \"3\"\n    }\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"36545400000008\",\n      \"expiration\": \"12/20\",\n      \"cvv\": \"123\"\n    },\n    \"otp\": \"123456\"\n  },\n  \"ipAddress\": \"127.0.0.1\",\n  \"userAgent\": \"Testing\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Request a report",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/report",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "report"
          ]
        },
        "description": "Allows you to request that a transaction report be generated and returns an identifier for the process, which once the callback is called can be obtained at the following endpoint",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"cV5MJlkUgPq/BLG40M1Cp2mSkJcZg7FPL4FBxKo+t5A=\",\n    \"nonce\": \"NjQ4MjMzMjY0MDIyYw==\",\n    \"seed\": \"2023-06-08T14:59:34-05:00\"\n  },\n  \"filters\": {\n    \"startDate\": \"2023-06-07 14:59:34\",\n    \"endDate\": \"2023-06-08 14:59:34\"\n  },\n  \"callbackUrl\": \"https://dnetix.co/ping/report\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Obtain a previously requested report",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/report/obtain",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "report",
            "obtain"
          ]
        },
        "description": "Allows you to obtain a previously generated report"
      }
    },
    {
      "name": "3DS Lookup",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/mpi/lookup",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "mpi",
            "lookup"
          ]
        },
        "description": "Performs the initial 3DS validation process by returning the data so that the user can continue with the process"
      }
    },
    {
      "name": "3DS Query",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/mpi/query",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "mpi",
            "query"
          ]
        }
      }
    },
    {
      "name": "Service to obtain the balance",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/balance",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "balance"
          ]
        },
        "description": "This service allows you to check the balance and must be used when the payment method requires it ('requireBalance' flag in information service response set to 'true').",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"E0gHh8C6fceHnbsLlgBq2n7nRNjr8MVPcz0um1ZYCfs=\",\n    \"nonce\": \"NjE0YjUwZGNlYjJiNA==\",\n    \"seed\": \"2021-09-22T10:50:52-05:00\"\n  },\n  \"payment\": {\n    \"reference\": \"1234567890\",\n    \"amount\": {\n      \"currency\": \"CRC\",\n      \"total\": \"1000\"\n    }\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"4111111111111111\",\n      \"expiration\": \"12/30\",\n      \"cvv\": \"123\"\n    }\n  },\n  \"ipAddress\": \"127.0.0.1\",\n  \"userAgent\": \"Testing\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Pinpad Request",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/security/pinpad/transaction",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "security",
            "pinpad",
            "transaction"
          ]
        },
        "description": "A PINPAD is an electronic device used in a debit, credit, or smart card transaction to accept and encrypt the cardholder's personal identification number (PIN).\nThis API provides a PinPad service with encrypted PinBlock generation according to ISO 9564.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"NjE1MWQ4MDE5YWViMw==\",\n    \"seed\": \"2021-09-27T09:41:05-05:00\"\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"4111111111111111\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Generation of PinBlock from Pinpad",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/security/pinpad/pinblock",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "security",
            "pinpad",
            "pinblock"
          ]
        },
        "description": "Allows you to generate the PinBlock with a transaction based on the positions provided by the user that were selected from the PinPad",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"NjE1MWQ4MDE5YWViMw==\",\n    \"seed\": \"2021-09-27T09:41:05-05:00\"\n  },\n  \"instrument\": {\n    \"card\": {\n      \"number\": \"0215020177972730\"\n    },\n    \"pinPad\": {\n      \"transactionId\": \"b0c62f97-3b06-4c33-b68f-e281e95eb4bb\",\n      \"positions\": \"0123\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Search payment orders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/cash/orders",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "cash",
            "orders"
          ]
        },
        "description": "This service allows consulting payment orders by reference, total and currency."
      }
    },
    {
      "name": "Delete cash order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/cash/delete",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "cash",
            "delete"
          ]
        },
        "description": "This service allows deleting pending cash orders."
      }
    },
    {
      "name": "Query token",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/token",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "token"
          ]
        },
        "description": "This service allows you to search for a token by the value of the token or subtoken.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"auth\": {\n    \"login\": \"aabbccdd1234567890aabbccdd123456\",\n    \"tranKey\": \"ABC123example456trankey+789abc012def3456ABC=\",\n    \"nonce\": \"NjE1MWQ4MDE5YWViMw==\",\n    \"seed\": \"2021-09-27T09:41:05-05:00\"\n  },\n  \"instrument\": {\n    \"token\": {\n      \"token\": \"faketoken12f233bd8f5d42138d681bf07ea8295429df07a4af287703e30c891\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Create Session",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/account-validator/session",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "account-validator",
            "session"
          ]
        },
        "description": "This endpoint allows creating a session for account validation"
      }
    },
    {
      "name": "Check session status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/account-validator/query",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "account-validator",
            "query"
          ]
        },
        "description": "This endpoint will allow you to consult the status of the created session."
      }
    },
    {
      "name": "Validate existing account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/gateway/account-validator/validate",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "gateway",
            "account-validator",
            "validate"
          ]
        },
        "description": "Once the initial session creation is successfully completed, you can perform validations to the account as many times as you consider necessary, you only need to have the account information and the verification code delivered in the previous process."
      }
    }
  ]
}