openapi: 3.0.3 info: title: Culqi API v2 3DS API description: Culqi is a Peruvian online payments platform (a Grupo Credicorp / Krealo company) that lets businesses accept card, Yape, PagoEfectivo, mobile wallet and Cuotealo (installment) payments. The REST API v2 exposes tokenization, charges (cargos), orders, refunds, customers, cards, plans, subscriptions, webhook events, card-BIN (iin) lookup and transfers. Card data is tokenized client-side against the PCI-scoped secure host; all money-movement and management operations run against the server host with a secret key. Amounts are integers in the currency minor unit (cents); supported currencies are PEN (Peruvian Sol) and USD. termsOfService: https://culqi.com/terminos_y_condiciones/ contact: name: Culqi Developer Support url: https://docs.culqi.com/ version: '2.0' servers: - url: https://api.culqi.com/v2 description: Server-side host for charges, orders, refunds, customers, cards, plans, subscriptions, events, iins and transfers (authenticated with a secret key, sk_). - url: https://secure.culqi.com/v2 description: PCI-scoped host for card tokenization and 3DS charge confirmation (authenticated with a public key, pk_). tags: - name: 3DS description: 3-D Secure charge confirmation on the secure host. paths: /confirm: servers: - url: https://secure.culqi.com/v2 post: operationId: confirmCharge tags: - 3DS summary: Confirm a 3DS-authenticated charge description: Confirms a charge whose token was authenticated via Culqi 3DS. Sent to the secure host with the public key after the cardholder completes the 3-D Secure challenge. security: - publicKey: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConfirmRequest' responses: '200': description: Confirmation result content: application/json: schema: $ref: '#/components/schemas/Charge' '400': $ref: '#/components/responses/Error' components: schemas: Metadata: type: object description: Arbitrary key/value metadata attached to a resource. additionalProperties: type: string Charge: type: object properties: object: type: string example: charge id: type: string example: chr_test_xxxxxxxxxxxx amount: type: integer amount_refunded: type: integer currency_code: $ref: '#/components/schemas/CurrencyCode' email: type: string description: type: string source: type: object additionalProperties: true outcome: type: object additionalProperties: true capture: type: boolean creation_date: type: integer metadata: $ref: '#/components/schemas/Metadata' ConfirmRequest: type: object required: - token_id properties: token_id: type: string usermail: type: string CurrencyCode: type: string description: ISO currency code. Culqi supports PEN and USD. enum: - PEN - USD Error: type: object properties: object: type: string example: error type: type: string example: card_error merchant_message: type: string user_message: type: string param: type: string code: type: string responses: Error: description: Error response content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: secretKey: type: http scheme: bearer bearerFormat: sk_live_/sk_test_ secret key description: 'Server-side secret key sent as an HTTP Bearer token in the Authorization header, e.g. `Authorization: Bearer sk_live_...`.' publicKey: type: http scheme: bearer bearerFormat: pk_live_/pk_test_ public key description: 'Public key sent as an HTTP Bearer token for tokenization and 3DS confirm on the secure host, e.g. `Authorization: Bearer pk_live_...`.'