> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mesadepagos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear pago con tarjeta

> Próximamente. Crea una transacción de pago con tarjeta. Envía los datos de la tarjeta y devuelve una transacción pendiente de confirmación.



## OpenAPI

````yaml /openapi.yaml post /v2/transactions/card/payments
openapi: 3.0.0
info:
  title: YP API Partner
  description: Documentación de integración para partners de YP API.
  version: 2.2.0
  contact: {}
servers:
  - url: https://sandbox-rampa.mesadepagos.com/api
    description: Sandbox
security: []
tags:
  - name: Auth
    description: ''
  - name: Quotes
    description: ''
  - name: Payin
    description: ''
  - name: Payout
    description: ''
  - name: Wallet
    description: ''
  - name: Consultas
    description: ''
  - name: Webhooks
    description: ''
  - name: Fees
    description: ''
paths:
  /v2/transactions/card/payments:
    post:
      tags:
        - Payin
      summary: Crear pago con tarjeta
      description: >-
        Próximamente. Crea una transacción de pago con tarjeta. Envía los datos
        de la tarjeta y devuelve una transacción pendiente de confirmación.
      operationId: createCardPayment
      parameters: []
      requestBody:
        required: true
        description: Datos necesarios para iniciar el pago con tarjeta.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCardPaymentRequestDoc'
      responses:
        '201':
          description: Pago con tarjeta creado exitosamente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCardPaymentResponseDoc'
        '400':
          description: Request inválido o datos de tarjeta no aceptados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDoc'
        '401':
          description: Token ausente, inválido o expirado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponseDoc'
      security:
        - bearer: []
components:
  schemas:
    CreateCardPaymentRequestDoc:
      type: object
      properties:
        externalReference:
          type: string
          example: ORDER-CARD-1001
          description: Referencia externa única enviada por el partner.
          minLength: 1
          maxLength: 100
        amount:
          type: number
          example: 100.5
          description: Monto fiat a cobrar.
          minimum: 0
          multipleOf: 0.01
        currency:
          type: string
          enum:
            - BOB
            - USD
          example: BOB
          description: Moneda fiat del pago.
        country:
          type: string
          enum:
            - BO
          example: BO
          description: País donde se procesa el pago.
        description:
          type: string
          example: Pago orden 1001
          description: Descripción visible para conciliación.
          maxLength: 200
        card:
          description: Datos de la tarjeta usada para iniciar el pago.
          allOf:
            - $ref: '#/components/schemas/CardPaymentCardRequestDoc'
        customer:
          description: Datos del cliente pagador.
          allOf:
            - $ref: '#/components/schemas/CardPaymentCustomerRequestDoc'
      required:
        - externalReference
        - amount
        - currency
        - country
        - card
        - customer
    CreateCardPaymentResponseDoc:
      type: object
      properties:
        transactionId:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440100
          description: Identificador único de la transacción.
        externalReference:
          type: string
          example: ORDER-CARD-1001
          description: Referencia externa enviada por el partner.
        type:
          type: string
          enum:
            - cardPayment
          example: cardPayment
          description: Tipo de transacción creada.
        status:
          type: string
          enum:
            - pendingConfirmation
            - processingTransaction
            - completedTransaction
            - failedTransaction
          example: pendingConfirmation
          description: Estado inicial de la transacción.
        amount:
          type: string
          example: '100.50'
          description: Monto cobrado.
        currency:
          type: string
          example: BOB
          description: Moneda del pago.
        country:
          type: string
          example: BO
          description: Código del país.
        authorization:
          description: Datos de autorización requeridos para confirmar el pago.
          allOf:
            - $ref: '#/components/schemas/CardPaymentAuthorizationDoc'
        message:
          type: string
          example: Card payment created. Confirmation is required.
          description: Mensaje descriptivo del estado.
      required:
        - transactionId
        - externalReference
        - type
        - status
        - amount
        - currency
        - country
        - authorization
        - message
    ValidationErrorResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Validation failed
        error:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
        - error
    UnauthorizedResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
    CardPaymentCardRequestDoc:
      type: object
      properties:
        cardType:
          type: string
          enum:
            - '001'
            - '002'
            - '003'
            - '004'
            - '007'
            - '042'
            - '050'
            - '054'
          example: '001'
          description: >-
            Tipo de tarjeta. 001 Visa, 002 Mastercard, 003 American Express, 004
            Discover, 007 JCB, 042 Maestro International, 050 Hipercard, 054
            Elo.
        holderName:
          type: string
          example: Juan Perez
          description: Nombre del titular impreso en la tarjeta.
        number:
          type: string
          example: '4111111111111111'
          description: Número de tarjeta.
          minLength: 13
          maxLength: 19
        expirationMonth:
          type: string
          example: '12'
          description: Mes de expiración en formato MM.
          pattern: ^(0[1-9]|1[0-2])$
        expirationYear:
          type: string
          example: '2028'
          description: Año de expiración en formato YYYY.
          pattern: ^\d{4}$
        cvv:
          type: string
          example: '123'
          description: Código de seguridad de la tarjeta.
          minLength: 3
          maxLength: 4
      required:
        - cardType
        - holderName
        - number
        - expirationMonth
        - expirationYear
        - cvv
    CardPaymentCustomerRequestDoc:
      type: object
      properties:
        firstName:
          type: string
          example: Juan
          description: Nombre del cliente.
        lastName:
          type: string
          example: Perez
          description: Apellido del cliente.
        email:
          type: string
          example: juan.perez@example.com
          description: Email del cliente.
          format: email
        locality:
          type: string
          example: La Paz
          description: Localidad o ciudad del cliente.
        phoneNumber:
          type: string
          example: '+59171234567'
          description: Número de teléfono del cliente.
        postalCode:
          type: string
          example: '0201'
          description: Código postal del cliente.
      required:
        - firstName
        - lastName
        - email
        - locality
        - phoneNumber
        - postalCode
    CardPaymentAuthorizationDoc:
      type: object
      properties:
        requiresConfirmation:
          type: boolean
          example: true
          description: Indica si la transacción requiere confirmación.
        confirmationMethod:
          type: string
          enum:
            - otp
            - threeDs
          example: otp
          description: Método esperado para confirmar la transacción.
        expiresAt:
          type: string
          example: '2026-06-02T18:30:00.000Z'
          description: Fecha y hora de expiración de la confirmación.
      required:
        - requiresConfirmation
        - confirmationMethod
        - expiresAt
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT obtenido desde /v2/auth/login

````