Cost+Docs

Tarjetas (Visa y Mastercard)

Acepta pagos con tarjeta de credito y debito

Descripcion general

Acepta pagos con tarjeta de credito y debito a traves de la API de Cost+ usando el metodo de pago credit-card.

{
  "transactions": [
    {
      "payment_method": "credit-card"
    }
  ]
}

Marcas de tarjeta soportadas

MarcaTipo
AmexCredito
MastercardCredito / Debito
MaestroDebito
VisaCredito / Debito
V PayDebito

Opciones de configuracion

Descriptor dinamico

Usa el campo dynamic_descriptor para establecer un texto personalizado que aparece en el extracto bancario o de tarjeta de tu cliente.

{
  "transactions": [
    {
      "payment_method": "credit-card",
      "payment_method_details": {
        "dynamic_descriptor": "My Store Order 123"
      }
    }
  ]
}

Usar nombre del cliente como nombre del titular

Establece use_customer_name_as_cardholder_name en true para usar automaticamente el nombre del cliente del pedido como nombre del titular de la tarjeta.

{
  "transactions": [
    {
      "payment_method": "credit-card",
      "payment_method_details": {
        "use_customer_name_as_cardholder_name": true
      }
    }
  ]
}

Formulario de entrada de tarjeta personalizado

Si deseas construir tu propio formulario de entrada de tarjeta en lugar de usar la pagina de pago alojada, sigue estos cuatro pasos.

Paso 1: Crear un pedido con un token de configuracion

Crea un pedido e incluye setup_token: true en el payment_method_details de la transaccion. Esto le indica a Cost+ que genere un token de configuracion que puedes usar para tokenizar los datos de la tarjeta de forma segura.

curl -X POST https://api.costplus.online/v1/orders \
  -u your-api-key: \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "EUR",
    "amount": 5000,
    "merchant_order_id": "order-001",
    "transactions": [
      {
        "payment_method": "credit-card",
        "payment_method_details": {
          "setup_token": true
        }
      }
    ],
    "return_url": "https://example.com/return",
    "webhook_url": "https://example.com/webhook"
  }'

La respuesta incluira un valor setup_token en el payment_method_details de la transaccion:

{
  "id": "order-uuid",
  "transactions": [
    {
      "id": "txn-uuid",
      "payment_method": "credit-card",
      "payment_method_details": {
        "setup_token": "st_abc123..."
      }
    }
  ]
}

Paso 2: Tokenizar los datos de la tarjeta

Envia el PAN de la tarjeta, la fecha de caducidad y el token de configuracion al endpoint de tokens. Esto almacena la tarjeta de forma segura en el vault y devuelve un vault_token.

curl -X POST https://api.costplus.online/v1/tokens/ \
  -H "Content-Type: application/json" \
  -d '{
    "pan": "4111111111111111",
    "expiry_date": "1228",
    "setup_token": "st_abc123..."
  }'

Respuesta:

{
  "vault_token": "vt_xyz789..."
}

Paso 3: Autenticar la transaccion

Envia el vault_token y el cvc al endpoint de autenticacion. Si se requiere 3D Secure, recibiras una redirect_url para redirigir al cliente a la pagina de autenticacion de su banco.

curl -X POST https://api.costplus.online/v1/orders/{order_id}/transactions/{transaction_id}/authenticate/ \
  -u your-api-key: \
  -H "Content-Type: application/json" \
  -d '{
    "vault_token": "vt_xyz789...",
    "cvc": "123"
  }'

Respuesta:

{
  "redirect_url": "https://3ds.bank.example.com/auth?id=..."
}

Redirige al cliente a redirect_url para completar la autenticacion 3D Secure. Despues de que el cliente complete (o cancele) la autenticacion, sera redirigido de vuelta a tu return_url.

Paso 4: Consultar el estado del pedido

Despues de que el cliente regrese de 3D Secure, consulta el pedido para verificar el estado final.

curl -X GET https://api.costplus.online/v1/orders/{order_id} \
  -u your-api-key:

El status del pedido cambiara a uno de:

EstadoSignificado
completedEl pago fue exitoso
cancelledEl cliente cancelo o la autenticacion fallo
errorOcurrio un error durante el procesamiento
expiredEl pedido expiro antes de completarse

Para flujos de autorizacion manual y captura con pagos con tarjeta, consulta la guia de Autorizacion / Captura / Anulacion.

On this page