Recursos de la API RESTful de CCBill

Este documento describe los recursos y puntos finales del servicio API RESTful de CCBill Transaction. Está destinado a programadores, técnicos y otras personas con conocimientos avanzados de codificación.

La API de transacción RESTful de CCBill permite a los comerciantes crear tokens de pago y usarlos para cobrar a los clientes.

Recursos de la API

La URL base de la API es https://api.ccbill.com y proporciona los puntos finales enumerados a continuación.

Los objetos de la API de transacción de CCBill están formateados para seguir el formato de archivo de estándar abierto JSON (JavaScript Object Notation) y utilizan el aplicación / json tipo de contenido.

NOMBRE DEL ENCABEZADOTIPO DE CONTENIDO
Content-Typeaplicación / json

Con cada solicitud POST, proporcione el tipo de medio del cuerpo de la solicitud como un encabezamiento.

Los posibles valores de versión de la API incluyen:

application/vnd.mcn.transaction-service.api.v.1+json

y

application/vnd.mcn.transaction-service.api.v.2+json

Preste especial atención a la versión en la ruta URI, ya que el número de versión afecta los tipos de datos del esquema.

/ fichas de pago

Use el / fichas de pago recurso para crear un token que identifique a un usuario en el sistema. El token se puede pasar al sistema en una solicitud de transacción, lo que le permite facturar a un cliente.

SUB-RECURSOMÉTODODESCRIPCIÓN
/solo para comerciantesPUBLICARGenera un token de pago para un comerciante/cliente específico.
/comerciante-solo-verificarPUBLICARGenera un token de pago para un comerciante/cliente específico. Se requiere CVV2 para transacciones con tarjeta.
/{pagoTokenId} Recupera los detalles del token de pago especificado (timeToLive, fecha de creación, etc.).
/tres-requerido Recupera si se requiere o no 3DS/SCA para una determinada tarjeta de crédito.
/{pagoTokenId}/tres-requerido Recupera si se requiere o no 3DS/SCA para un token de pago.
/programa-especificadoPUBLICARGenera un token de pago para el participante del programa especificado.
/cliente-objetivoPUBLICARGenera un token de pago para el comerciante/cliente especificado. Requiere participación activa en el programa.

/ fichas-de-pago / solo-comerciante

Punto final utilizado para crear un token de pago.

URL de solicitud HTTP
Solicitar esquema
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Posibles valores de versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
  • application/vnd.mcn.transaction-service.api.v.2+json

Valor de ejemplo:

  • aplicación/vnd.mcn.transaction.service.api.v1+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
Información del clienteobjeto
(formación)
Información al cliente.
Información del cliente. correo electrónico,cadena
(requerido)
Dirección de correo electrónico del cliente.
Información del cliente. navegadorHttpAceptarIdiomacadena
(opcional)
Lista de lenguajes humanos aceptables para la respuesta.
Información del cliente. navegadorHttpUserAgentcadena
(opcional)
La cadena de agente de usuario del agente de usuario.
Información del cliente. ciudadcadena
(requerido)
Ciudad del cliente.
Información del cliente. navegadorHttpAceptarcadena
(opcional)
Tipos de medios que son aceptables para la respuesta.
Información del cliente. estadocadena
(requerido)
Estado del cliente.
Información del cliente. código postalcadena
(requerido)
Código postal del cliente.
Información del cliente. clienteFnamecadena
(requerido)
Nombre del cliente.
Información del cliente. address1cadena
(requerido)
Dirección del cliente.
Información del cliente. address2cadena
(opcional)
Dirección del cliente (información adicional).
Información del cliente. browserHttpAcceptEncodingcadena
(opcional)
Lista de codificaciones aceptables.
Información del cliente. nombre del clientecadena
(requerido)
Apellido del cliente.
Información del cliente. dirección IPcadena
(requerido)
Dirección IP del cliente.
Información del cliente. número de teléfonocadena
(opcional)
Número de teléfono del cliente.
Información del cliente. paíscadena
(requerido)
País del cliente.
información de pagoobjeto
(formación)
Información del pago.
información de pago. número de tarjetacadena
(requerido)
Número de tarjeta.
información de pago. expMescadena
(requerido)
Mes de caducidad de la tarjeta en mm formato.
información de pago. expañocadena
(requerido)
Año de caducidad de la tarjeta en aaaa formato.
información de pago. nombre en la tarjetacadena
(requerido)
Nombre como aparece en la tarjeta.
ID de suscripciónentero
(requerido)
Número de identificación de la suscripción de la transacción.
tiempo para vivirentero
(opcional)
Tiempo para que exista el token.
NúmeroVálidoDeUsoentero
(opcional)
El número total de veces que se puede usar el token de pago para compras.

cURL

curl -X POST \
  https://api.ccbill.com/payment-tokens/merchant-only \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'\''", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId":900000000000000001, "timeToLive": 30, "validNumberOfUse": 3 }'

JavaScript

var data = JSON.stringify({
  "clientAccnum": 900000,
  "clientSubacc": 0,
  "customerInfo": {
    "customerFname": "Tyler",
    "customerLname": "Thomas",
    "address1": "Woodland Drive",
    "address2": "Apt 21",
    "city": "Tempe",
    "state": "AZ",
    "zipcode": "85281",
    "country": "US",
    "phoneNumber": "5555555555",
    "email": "tthomas@xyz.com",
    "ipAddress": "10.70.60.14'",
    "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0",
    "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "browserHttpAcceptLanguage": "en-US,en;q=0.5",
    "browserHttpAcceptEncoding": "gzip, deflate, br"
  },
  "paymentInfo": {
    "creditCardPaymentInfo": {
      "cardNum": "4473707989493598",
      "nameOnCard": "Tyler Thomas",
      "expMonth": "04",
      "expYear": "2026"
    }
  },
  "subscriptionId": 900000000000000000,
  "timeToLive": 30,
  "validNumberOfUse": 3
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/payment-tokens/merchant-only");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/merchant-only');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId":900000000000000001, "timeToLive": 30, "validNumberOfUse": 3 }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

La solicitud se ha realizado correctamente. Extrae el ID de token de pago cadena para crear un cargo para el cliente.

Nota: en PaymentTokenVerifyV2 ID de suscripción se devuelve como una cadena. En el ejemplo v1 a continuación, ID de suscripción se vuelve a sintonizar como un número / entero.

Tipo PaymentToken
{ "createdDatetime": "datetime-only", "timeToLive": "integer", "originalPaymentTokenId": "string", "validNumberOfUse": "integer", "clientAccnum": "integer", "clientSubacc": "integer", "programParticipationId": "integer", "paymentTokenId": "string", "paymentInfoId": "string", "subscriptionId": "integer" }

Parámetro Tipo Descripción
Fecha y hora de creación solo fecha y hora (obligatorio) La fecha y hora en que se creó el token de pago.
tiempo para vivir entero (requerido) Define cuánto tiempo va a existir el token de pago.
originalPagoTokenId cadena (opcional) Referencia a una identificación de token anterior.
NúmeroVálidoDeUso entero (requerido) Número total de veces que se puede usar el token de pago para compras.
clienteAccnum entero (requerido) Número de cuenta mercantil.
clienteSubacc entero (requerido) Número de subcuenta de comerciante.
ID de participación del programa entero (requerido) Programa conectado al token de pago.
Id. de token de pago cadena (requerido) Representación compleja del Id. del token de pago.
PaymentInfoId cadena (opcional) Información asociada al pago.
ID de suscripción entero (requerido) Identificación de la suscripción asociada a la transacción.

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/ fichas-de-pago / solo-comerciante-verificar

El recurso se utiliza para mejorar la autenticación durante la creación del token de pago. Este punto final incluye cvvRespuesta y avsRespuesta parámetros en la respuesta. Estos parámetros ayudan a reducir las tasas de devolución de cargo para los comerciantes.

Solicitud HTTP Enlance
Solicitar esquema
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valores de ejemplo:

  • application/vnd.mcn.transaction-service.api.v.1+json
  • application/vnd.mcn.transaction-service.api.v.2+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
Información del clienteobjeto
(formación)
Información al cliente.
Información del cliente. correo electrónico,cadena
(requerido)
Dirección de correo electrónico del cliente.
Información del cliente. navegadorHttpAceptarIdiomacadena
(opcional)
Lista de lenguajes humanos aceptables para la respuesta.
Información del cliente. navegadorHttpUserAgentcadena
(opcional)
La cadena de agente de usuario del agente de usuario.
Información del cliente. ciudadcadena
(requerido)
Ciudad del cliente.
Información del cliente. navegadorHttpAceptarcadena
(opcional)
Tipos de medios que son aceptables para la respuesta.
Información del cliente. estadocadena
(requerido)
Estado del cliente.
Información del cliente. código postalcadena
(requerido)
Código postal del cliente.
Información del cliente. clienteFnamecadena
(requerido)
Nombre del cliente.
Información del cliente. address1cadena
(requerido)
Dirección del cliente.
Información del cliente. address2cadena
(opcional)
Dirección del cliente (información adicional).
Información del cliente. browserHttpAcceptEncodingcadena
(opcional)
Lista de codificaciones aceptables.
Información del cliente. nombre del clientecadena
(requerido)
Apellido del cliente.
Información del cliente. dirección IPcadena
(requerido)
Dirección IP del cliente.
Información del cliente. número de teléfonocadena
(opcional)
Número de teléfono del cliente.
Información del cliente. paíscadena
(requerido)
País del cliente.
información de pagoobjeto
(formación)
Información del pago.
información de pago. número de tarjetacadena
(requerido)
Número de tarjeta.
información de pago. expMescadena
(requerido)
Mes de caducidad de la tarjeta en mm formato.
información de pago. expañocadena
(requerido)
Año de caducidad de la tarjeta en aaaa formato.
información de pago. nombre en la tarjetacadena
(requerido)
Nombre como aparece en la tarjeta.
información de pago. cvv2cadena
(requerido)
Código CVV2 en la tarjeta.
ID de suscripciónentero
(requerido)
Número de identificación de la suscripción de la transacción.
tiempo para vivirentero
(opcional)
Tiempo para que exista el token.
NúmeroVálidoDeUsoentero
(opcional)
El número total de veces que se puede usar el token de pago para compras.

cURL

curl -X POST \
  https://api.ccbill.com/payment-tokens/merchant-only-verify \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'\''", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026", "cvv2": "123" } }, "subscriptionId":900000000000000001, "timeToLive": 30, "validNumberOfUse": 3 }'

JavaScript

var data = JSON.stringify({
  "clientAccnum": 900000,
  "clientSubacc": 0,
  "customerInfo": {
    "customerFname": "Tyler",
    "customerLname": "Thomas",
    "address1": "Woodland Drive",
    "address2": "Apt 21",
    "city": "Tempe",
    "state": "AZ",
    "zipcode": "85281",
    "country": "US",
    "phoneNumber": "5555555555",
    "email": "tthomas@xyz.com",
    "ipAddress": "10.70.60.14'",
    "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0",
    "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "browserHttpAcceptLanguage": "en-US,en;q=0.5",
    "browserHttpAcceptEncoding": "gzip, deflate, br"
  },
  "paymentInfo": {
    "creditCardPaymentInfo": {
      "cardNum": "4473707989493598",
      "nameOnCard": "Tyler Thomas",
      "expMonth": "04",
      "expYear": "2026",
      "cvv2": "123"
    }
  },
  "subscriptionId": 900000000000000000,
  "timeToLive": 30,
  "validNumberOfUse": 3
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/payment-tokens/merchant-only-verify");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/merchant-only-verify');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026", "cvv2": "123" } }, "subscriptionId":900000000000000001, "timeToLive": 30, "validNumberOfUse": 3 }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

La solicitud se ha realizado correctamente. Extrae el ID de token de pago cadena para crear un cargo para el cliente.

Tipo PaymentTokenVerify
{ "createdDatetime": "datetime-only", "timeToLive": "integer", "originalPaymentTokenId": "string", "validNumberOfUse": "integer", "clientAccnum": "integer", "clientSubacc": "integer", "programParticipationId": "integer", "avsResponse": "string", "paymentTokenId": "string", "paymentInfoId": "string", "cvv2Response": "string", "subscriptionId": "integer" }

Parámetro Tipo Descripción
createdDatetime (obligatorio) solo fecha y hora Fecha y hora de creación del Token de pago.
timeToLive (obligatorio) entero Tiempo para que exista el token (horas)
originalPagoTokenId cadena Referencia a un ID de token anterior
validNumberOfUse (obligatorio) entero Número total de veces que se puede usar el token de pago para compras
clientAccnum (obligatorio) entero Número de cuenta comercial
clientSubacc (requerido) entero Número de subcuenta del comerciante
programParticipationId (obligatorio) entero El programa conectado al token de pago
avsResponse (obligatorio) cadena El resultado de la verificación AVS
paymentTokenId (obligatorio) cadena Representación compleja del ID del token de pago
PaymentInfoId cadena Información asociada al pago
cvv2Response (obligatorio) cadena El resultado de la verificación CVV2
subscriptionId (requerido) entero Identificación de la suscripción asociada a la transacción

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/ fichas-de-pago / {paymentTokenId}

Utilice esta solicitud para recuperar los detalles de un token de pago según su ID.

Solicitud HTTP Enlance
Parámetro URI
PARÁMETROTIPODESCRIPCIÓN
Id. de token de pagocadena
(requerido)
Representación compleja del ID del token de pago.
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valores posibles:

  • application/vnd.mcn.transaction-service.api.v.1+json
  • application/vnd.mcn.transaction-service.api.v.2+json

Valor de ejemplo:

  • application/vnd.mcn.transaction-service.api.v.1+json

cURL

curl -X GET \
  https://api.ccbill.com/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84 \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw' \
  -H 'Cache-Control: no-cache'

JavaScript

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.ccbill.com/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

La solicitud se ha realizado correctamente. Extrae el ID de token de pago cadena para crear un cargo para el cliente.

Tipo PaymentToken
{ "createdDatetime": "datetime-only", "timeToLive": "integer", "originalPaymentTokenId": "string", "validNumberOfUse": "integer", "clientAccnum": "integer", "clientSubacc": "integer", "programParticipationId": "integer", "paymentTokenId": "string", "paymentInfoId": "string", "subscriptionId": "integer" }

Parámetro Tipo Descripción
createdDatetime (obligatorio) solo fecha y hora Fecha y hora de creación del Token de pago.
timeToLive (obligatorio) entero Tiempo para que exista el token expresado en horas
originalPagoTokenId cadena Referencia a un ID de token anterior
validNumberOfUse (obligatorio) entero Número total de veces que se puede usar el token de pago para compras
clientAccnum (obligatorio) entero Número de cuenta comercial
clientSubacc (requerido) entero Número de subcuenta del comerciante
programParticipationId (obligatorio) entero El programa conectado al token de pago
paymentTokenId (obligatorio) cadena Representación compleja del ID del token de pago
PaymentInfoId cadena Información asociada al pago
subscriptionId (requerido) entero Identificación de la suscripción asociada a la transacción

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/tokens-de-pago/tres-requeridos

Utilice esta solicitud para determinar si una tarjeta de pago debe someterse a la verificación 3DS.

URL de solicitud HTTP
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valor de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
papeleraentero
(requerido)
El número de identificación bancaria (generalmente los primeros 4-6 dígitos del número de tarjeta).
last4cadena
(requerido)
Los últimos 4 dígitos del número de tarjeta de crédito.
clienteAccnumentero
(requerido)
Número de cuenta del comerciante.
clienteSubaccentero
(opcional)
Número de subcuenta del comerciante.

cURL

curl -X GET \
  'https://api.ccbill.com/payment-tokens/threeds-required?bin=411111&last4=1111&clientAccnum=900684&clientSubacc=0000' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTY5NDM1NjY5LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMWFkODY1MWMtZGEwMS00YzNjLTkyY2EtOGQ0YjM3OWJjOGFiIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.Qxtk0x-MxcYHIXDrgtJh3bBLigSh9WALVHSyw0UKpfYpgj_0IVNk8p83njYrukMNXuMt-GnM0J3-ghCpQ3hKHYQnOgdWjA8c_Sr3BfxlRQfTGJUu5wRIxfTpCM3A4XkGKkccMIV3kTexPvUDlEH4Mj1HJNSmXSNzjk3HTbLQ6bTAclWkhYyC4ps81_NG-GaOKpB_hjZES0bcx7RqNhDGkotyAmMsRSIODE0ta6p0Y3X3uCGoGhHxWIj57lmCCdu3m3lNe3aYysSxstES3dsIiVNmJNFR44wviKp01UYRH-oqUqEqyaIUdX3q2ILIkMikb8gCbrZxeHMBFqIWO5z1oQ' \
  -H 'Cache-Control: no-cache'

JavaScript

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.ccbill.com/payment-tokens/threeds-required?bin=411111&last4=1111&clientAccnum=900684&clientSubacc=0000");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTY5NDM1NjY5LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMWFkODY1MWMtZGEwMS00YzNjLTkyY2EtOGQ0YjM3OWJjOGFiIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.Qxtk0x-MxcYHIXDrgtJh3bBLigSh9WALVHSyw0UKpfYpgj_0IVNk8p83njYrukMNXuMt-GnM0J3-ghCpQ3hKHYQnOgdWjA8c_Sr3BfxlRQfTGJUu5wRIxfTpCM3A4XkGKkccMIV3kTexPvUDlEH4Mj1HJNSmXSNzjk3HTbLQ6bTAclWkhYyC4ps81_NG-GaOKpB_hjZES0bcx7RqNhDGkotyAmMsRSIODE0ta6p0Y3X3uCGoGhHxWIj57lmCCdu3m3lNe3aYysSxstES3dsIiVNmJNFR44wviKp01UYRH-oqUqEqyaIUdX3q2ILIkMikb8gCbrZxeHMBFqIWO5z1oQ");
xhr.setRequestHeader("Accept", "*/*");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<!--?php

$request = new HttpRequest();
$request--->setUrl('https://api.ccbill.com/payment-tokens/threeds-required');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'bin' => '411111',
  'last4' => '1111',
  'clientAccnum' => '900684',
  'clientSubacc' => '0000'
));

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'Accept' => '*/*',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTY5NDM1NjY5LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMWFkODY1MWMtZGEwMS00YzNjLTkyY2EtOGQ0YjM3OWJjOGFiIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.Qxtk0x-MxcYHIXDrgtJh3bBLigSh9WALVHSyw0UKpfYpgj_0IVNk8p83njYrukMNXuMt-GnM0J3-ghCpQ3hKHYQnOgdWjA8c_Sr3BfxlRQfTGJUu5wRIxfTpCM3A4XkGKkccMIV3kTexPvUDlEH4Mj1HJNSmXSNzjk3HTbLQ6bTAclWkhYyC4ps81_NG-GaOKpB_hjZES0bcx7RqNhDGkotyAmMsRSIODE0ta6p0Y3X3uCGoGhHxWIj57lmCCdu3m3lNe3aYysSxstES3dsIiVNmJNFR44wviKp01UYRH-oqUqEqyaIUdX3q2ILIkMikb8gCbrZxeHMBFqIWO5z1oQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
?>
Esquemas de respuesta
Respuesta

Respuesta exitosa

Tipo TresDSRequerido
{ "required": "boolean", "amount": "number" }

Parámetro Tipo Descripción
Requisitos booleano Se requiere 3DS para pago con tarjeta.
cantidad número Importe del cargo autorizado.

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/pago-fichas/{pagoTokenId}/tres-requeridos

Utilice este punto final para determinar si una transacción debe someterse a la verificación de 3DS en función del ID del token de pago.

URL de solicitud HTTP
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valor de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
Parámetro URI
PARÁMETROTIPODESCRIPCIÓN
Id. de token de pagocadena
(requerido)
Representación compleja del Id. del token de pago.

cURL

curl -X GET \
  https://api.ccbill.com/payment-tokens/01f1142953204411a7e399e0f100fc4d/threeds-required \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTcwMTQxMTYzLCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMTc4ODM4NGUtYWQ5Zi00NjRmLWI3YTEtN2M2NGNiMGQ1ODgxIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.WqSzOQ6gRpZdUp7f-uINqJDXMh17jCLTPzZthPXaiL1N0-3aghhXEZTR7BX04upCtWxxzQQC5tP8IRAtWdtsQSfGHV86GjhILCDxLI5Z9OnMm26JCjtDsKqau5T_y8O-4FT7y-aPiVCB0wQZjRZ96U1cIL7V6zJiCS0Y-mE3ixmAkuUGhYM6Nor2AnvyNtrlfA8SGd8GEF7jJuLGgNCdVVXrDCjzuUdWnHp85Bp5daLai_IprPHapZpZ9UqeOJ9gaw04Kth--ftOx-Y4d3GyACJ0ymCyCGYocjLzerjfHW3HuoWFnRKTX5VVEUkIQ52jLEB1dtmm_hrwAZ1o8UMfQA' \
  -H 'Cache-Control: no-cache'

JavaScript

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.ccbill.com/payment-tokens/01f1142953204411a7e399e0f100fc4d/threeds-required");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTcwMTQxMTYzLCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMTc4ODM4NGUtYWQ5Zi00NjRmLWI3YTEtN2M2NGNiMGQ1ODgxIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.WqSzOQ6gRpZdUp7f-uINqJDXMh17jCLTPzZthPXaiL1N0-3aghhXEZTR7BX04upCtWxxzQQC5tP8IRAtWdtsQSfGHV86GjhILCDxLI5Z9OnMm26JCjtDsKqau5T_y8O-4FT7y-aPiVCB0wQZjRZ96U1cIL7V6zJiCS0Y-mE3ixmAkuUGhYM6Nor2AnvyNtrlfA8SGd8GEF7jJuLGgNCdVVXrDCjzuUdWnHp85Bp5daLai_IprPHapZpZ9UqeOJ9gaw04Kth--ftOx-Y4d3GyACJ0ymCyCGYocjLzerjfHW3HuoWFnRKTX5VVEUkIQ52jLEB1dtmm_hrwAZ1o8UMfQA");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php

$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/01f1142953204411a7e399e0f100fc4d/threeds-required');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJtb2RpZnlfcHJvZ3JhbSIsImNyZWF0ZV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTcwMTQxMTYzLCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQUdFUiIsIk1DTl9BUElfVE9LRU5fQ1JFQVRPUiIsIk1DTl9BUElfQURNSU4iXSwianRpIjoiMTc4ODM4NGUtYWQ5Zi00NjRmLWI3YTEtN2M2NGNiMGQ1ODgxIiwiY2xpZW50X2lkIjoiYjhkOTJkOWFjZTYwMTFlOGFhNmIwMDUwNTY5ZDE1ODUifQ.WqSzOQ6gRpZdUp7f-uINqJDXMh17jCLTPzZthPXaiL1N0-3aghhXEZTR7BX04upCtWxxzQQC5tP8IRAtWdtsQSfGHV86GjhILCDxLI5Z9OnMm26JCjtDsKqau5T_y8O-4FT7y-aPiVCB0wQZjRZ96U1cIL7V6zJiCS0Y-mE3ixmAkuUGhYM6Nor2AnvyNtrlfA8SGd8GEF7jJuLGgNCdVVXrDCjzuUdWnHp85Bp5daLai_IprPHapZpZ9UqeOJ9gaw04Kth--ftOx-Y4d3GyACJ0ymCyCGYocjLzerjfHW3HuoWFnRKTX5VVEUkIQ52jLEB1dtmm_hrwAZ1o8UMfQA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

Respuesta exitosa

Tipo TresDSRequerido
{ "required": "boolean", "amount": "number" }

Parámetro Tipo Descripción
Requisitos booleano Se requiere 3DS para pago con tarjeta.
cantidad número Importe del cargo autorizado.

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/tokens-de-pago/cliente-objetivo

Este punto final genera un token de pago para el comerciante/cliente especificado.

Requiere una participación activa en el programa y permite a los comerciantes crear tokens de pago para oportunidades de venta cruzada con otros comerciantes.

URL de solicitud HTTP
Solicitar esquema
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valores de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
  • application/vnd.mcn.transaction-service.api.v.2+json

Valor de ejemplo:

  • aplicación/vnd.mcn.transaction.service.api.v1+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
Información del clienteobjeto
(formación)
Información al cliente.
Información del cliente. correo electrónico,cadena
(requerido)
Dirección de correo electrónico del cliente.
Información del cliente. navegadorHttpAceptarIdiomacadena
(opcional)
Lista de lenguajes humanos aceptables para la respuesta.
Información del cliente. navegadorHttpUserAgentcadena
(opcional)
La cadena de agente de usuario del agente de usuario.
Información del cliente. ciudadcadena
(requerido)
Ciudad del cliente.
Información del cliente. navegadorHttpAceptarcadena
(opcional)
Tipos de medios que son aceptables para la respuesta.
Información del cliente. estadocadena (requerido)Estado del cliente.
Información del cliente. código postalcadena (requerido)Código postal del cliente.
Información del cliente. clienteFnamecadena (requerido)Nombre del cliente.
Información del cliente. address1cadena (requerido)Dirección del cliente.
Información del cliente. address2cadena (opcional)Dirección del cliente (información adicional).
Información del cliente. browserHttpAcceptEncodingcadena (opcional)Lista de codificaciones aceptables.
Información del cliente. nombre del clientecadena (requerido)Apellido del cliente.
Información del cliente. dirección IPcadena (requerido)Dirección IP del cliente.
Información del cliente. número de teléfonocadena (opcional)Número de teléfono del cliente.
Información del cliente. paíscadena (requerido)País del cliente.
información de pagoobjetoInformación del pago.
información de pago. número de tarjetacadena (requerido)Número de tarjeta.
información de pago. expMescadena (requerido)Mes de caducidad de la tarjeta en mm formato.
información de pago. expañocadena (requerido)Año de caducidad de la tarjeta en aaaa formato.
información de pago. nombre en la tarjetacadena (requerido)Nombre como aparece en la tarjeta.
ID de suscripciónentero (requerido)Número de identificación de la suscripción de la transacción.
targetClientAccnumentero (requerido)Número de cuenta de comerciante de destino.
targetClientSubaccentero (requerido)Número de subcuenta de comerciante de destino.
tiempo para vivirentero (opcional)Tiempo para que exista el token.
NúmeroVálidoDeUsoentero (opcional)El número total de veces que se puede usar el token de pago para compras.

cURL

curl -X POST \
  https://api.ccbill.com/payment-tokens/target-client \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'\''", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId": 900000000000000001, "targetClientAccnum": 900000, "targetClientSubacc": 1, "timeToLive": 30, "validNumberOfUse": 3 }'

JavaScript

var data = JSON.stringify({
  "clientAccnum": 900000,
  "clientSubacc": 0,
  "customerInfo": {
    "customerFname": "Tyler",
    "customerLname": "Thomas",
    "address1": "Woodland Drive",
    "address2": "Apt 21",
    "city": "Tempe",
    "state": "AZ",
    "zipcode": "85281",
    "country": "US",
    "phoneNumber": "5555555555",
    "email": "tthomas@xyz.com",
    "ipAddress": "10.70.60.14'",
    "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0",
    "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "browserHttpAcceptLanguage": "en-US,en;q=0.5",
    "browserHttpAcceptEncoding": "gzip, deflate, br"
  },
  "paymentInfo": {
    "creditCardPaymentInfo": {
      "cardNum": "4473707989493598",
      "nameOnCard": "Tyler Thomas",
      "expMonth": "04",
      "expYear": "2026"
    }
  },
  "subscriptionId": 900000000000000000,
  "targetClientAccnum": 900000,
  "targetClientSubacc": 1,
  "timeToLive": 30,
  "validNumberOfUse": 3
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/payment-tokens/target-client");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/target-client');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId": 900000000000000001, "targetClientAccnum": 900000, "targetClientSubacc": 1, "timeToLive": 30, "validNumberOfUse": 3 }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

La solicitud se ha realizado correctamente. Extrae el ID de token de pago cadena para crear un cargo para el cliente.

Nota: en PaymentTokenVerifyV2 ID de suscripción se devuelve como una cadena. En el ejemplo v1 a continuación, ID de suscripción se vuelve a sintonizar como un número / entero.

Tipo PaymentToken
{ "createdDatetime": "datetime-only", "timeToLive": "integer", "originalPaymentTokenId": "string", "validNumberOfUse": "integer", "clientAccnum": "integer", "clientSubacc": "integer", "programParticipationId": "integer", "paymentTokenId": "string", "paymentInfoId": "string", "subscriptionId": "integer" }

Parámetro Tipo Descripción
Fecha y hora de creación solo fecha y hora (obligatorio) La fecha y hora en que se creó el token de pago.
tiempo para vivir entero (requerido) Define cuánto tiempo va a existir el token de pago.
originalPagoTokenId cadena (opcional) Referencia a una identificación de token anterior.
NúmeroVálidoDeUso entero (requerido) Número total de veces que se puede usar el token de pago para compras.
clienteAccnum entero (requerido) Número de cuenta mercantil.
clienteSubacc entero (requerido) Número de subcuenta de comerciante.
ID de participación del programa entero (requerido) Programa conectado al token de pago.
Id. de token de pago cadena (requerido) Representación compleja del Id. del token de pago.
PaymentInfoId cadena (opcional) Información asociada al pago.
ID de suscripción entero (requerido) Identificación de la suscripción asociada a la transacción.

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/pago-tokens/programa-especificado

Este punto final permite a los comerciantes generar tokens de pago para oportunidades de venta cruzada con otros participantes específicos del programa (comerciantes).

URL de solicitud HTTP
  • https://api.ccbill.com/payment-tokens/program-specified
Solicitar esquema
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valores de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
  • application/vnd.mcn.transaction-service.api.v.2+json

Valor de ejemplo:

  • aplicación/vnd.mcn.transaction.service.api.v1+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
Información del clienteobjetoInformación al cliente.
Información del cliente. correo electrónico,cadena
(requerido)
Dirección de correo electrónico del cliente.
Información del cliente. navegadorHttpAceptarIdiomacadena
(opcional)
Lista de lenguajes humanos aceptables para la respuesta.
Información del cliente. navegadorHttpUserAgentcadena
(opcional)
La cadena de agente de usuario del agente de usuario.
Información del cliente. ciudadcadena
(requerido)
Ciudad del cliente.
Información del cliente. navegadorHttpAceptarcadena
(opcional)
Tipos de medios que son aceptables para la respuesta.
Información del cliente. estadocadena
(requerido)
Estado del cliente.
Información del cliente. código postalcadena
(requerido)
Código postal del cliente.
Información del cliente. clienteFnamecadena
(requerido)
Nombre del cliente.
Información del cliente. address1cadena
(requerido)
Dirección del cliente.
Información del cliente. address2cadena
(opcional)
Dirección del cliente (información adicional).
Información del cliente. browserHttpAcceptEncodingcadena
(opcional)
Lista de codificaciones aceptables.
Información del cliente. nombre del clientecadena
(requerido)
Apellido del cliente.
Información del cliente. dirección IPcadena
(requerido)
Dirección IP del cliente.
Información del cliente. número de teléfonocadena
(opcional)
Número de teléfono del cliente.
Información del cliente. paíscadena
(requerido)
País del cliente.
información de pagoobjetoInformación del pago.
información de pago. número de tarjetacadena
(requerido)
Número de tarjeta.
información de pago. expMescadena
(requerido)
Mes de caducidad de la tarjeta en mm formato.
información de pago. expañocadena
(requerido)
Año de caducidad de la tarjeta en aaaa formato.
información de pago. nombre en la tarjetacadena
(requerido)
Nombre como aparece en la tarjeta.
ID de suscripciónentero
(requerido)
Número de identificación de la suscripción de la transacción.
ID de participación del programaentero
(requerido)
El identificador representa el programa asociado con la transacción.
tiempo para vivirentero
(opcional)
Tiempo para que exista el token.
NúmeroVálidoDeUsoentero
(opcional)
El número total de veces que se puede usar el token de pago para compras.

cURL

curl -X POST \
  https://api.ccbill.com/payment-tokens/program-specified \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'\''", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId": 900000000000000001, "programParticipationId": 1, "timeToLive": 30, "validNumberOfUse": 3 }'
  

JavaScript

var data = JSON.stringify({
  "clientAccnum": 900000,
  "clientSubacc": 0,
  "customerInfo": {
    "customerFname": "Tyler",
    "customerLname": "Thomas",
    "address1": "Woodland Drive",
    "address2": "Apt 21",
    "city": "Tempe",
    "state": "AZ",
    "zipcode": "85281",
    "country": "US",
    "phoneNumber": "5555555555",
    "email": "tthomas@xyz.com",
    "ipAddress": "10.70.60.14'",
    "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0",
    "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "browserHttpAcceptLanguage": "en-US,en;q=0.5",
    "browserHttpAcceptEncoding": "gzip, deflate, br"
  },
  "paymentInfo": {
    "creditCardPaymentInfo": {
      "cardNum": "4473707989493598",
      "nameOnCard": "Tyler Thomas",
      "expMonth": "04",
      "expYear": "2026"
    }
  },
  "subscriptionId": 900000000000000000,
  "programParticipationId": 1,
  "timeToLive": 30,
  "validNumberOfUse": 3
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/payment-tokens/program-specified");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/program-specified');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14'", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2026" } }, "subscriptionId": 900000000000000001, "programParticipationId": 1, "timeToLive": 30, "validNumberOfUse": 3 }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

La solicitud se ha realizado correctamente. Extrae el ID de token de pago cadena para crear un cargo para el cliente.

Nota: en PaymentTokenVerifyV2 ID de suscripción se devuelve como una cadena. En el ejemplo v1 a continuación, ID de suscripción se vuelve a sintonizar como un número / entero.

Tipo PaymentToken
{ "createdDatetime": "datetime-only", "timeToLive": "integer", "originalPaymentTokenId": "string", "validNumberOfUse": "integer", "clientAccnum": "integer", "clientSubacc": "integer", "programParticipationId": "integer", "paymentTokenId": "string", "paymentInfoId": "string", "subscriptionId": "integer" }

Parámetro Tipo Descripción
Fecha y hora de creación solo fecha y hora (obligatorio) La fecha y hora en que se creó el token de pago.
tiempo para vivir entero (requerido) Define cuánto tiempo va a existir el token de pago.
originalPagoTokenId cadena (opcional) Referencia a una identificación de token anterior.
NúmeroVálidoDeUso entero (requerido) Número total de veces que se puede usar el token de pago para compras.
clienteAccnum entero (requerido) Número de cuenta mercantil.
clienteSubacc entero (requerido) Número de subcuenta de comerciante.
ID de participación del programa entero (requerido) Programa conectado al token de pago.
Id. de token de pago cadena (requerido) Representación compleja del Id. del token de pago.
PaymentInfoId cadena (opcional) Información asociada al pago.
ID de suscripción entero (requerido) Identificación de la suscripción asociada a la transacción.

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/actas

Utilice el extremo Transacciones para crear un cargo para un cliente existente o nuevo, o para recuperar datos sobre un cargo.

Un cargo puede representar una transacción en los detalles de facturación de un cliente por parte de un patrocinador, en función de un token obtenido de un afiliado que identifica a uno de sus clientes.

SUB-RECURSOSFORMAS DE PAGODESCRIPCIÓN
/ transaction / payment-tokens / {payment_token_id}PUBLICARSubrecurso utilizado para facturar a un cliente o recuperar detalles sobre un cargo.
/ transaction / payment-tokens / {payment_token_id} Subrecurso utilizado para facturar a un cliente o recuperar detalles sobre un cargo.
/transacciones/pago-tokens/{pago_token_id}/tresPUBLICARSubrecurso utilizado para facturar a un cliente o recuperar detalles sobre un cargo con verificación 3DS.

El OBTENER / transacciones / fichas-de-pago / {payment_token_id} La llamada API permite a los comerciantes recuperar detalles sobre un cargo que se realizó en el sistema.

Use el POST / transacciones / tokens-de-pago / {payment_token_id} Llamada API para facturar a un cliente.

/ transaction / payment-tokens / {payment_token_id}

El POST / transacciones / tokens-de-pago / {payment_token_id} La llamada API creará una solicitud de transacción para un cliente.

El cliente se identifica mediante un token que se obtiene de un afiliado. Si el token es de corta duración y esta es la primera facturación para este cliente, se devuelve un token de mayor duración.

Proporcione el ID del token de pago como Parámetro URI.

URL de solicitud HTTP
Solicitar esquema
Parámetro URI
PARÁMETROTIPODESCRIPCIÓN
Id. de token de pagocadena
(requerido)
Representación compleja del Id. del token de pago.
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valor de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
crear nuevo token de pagobooleanoDevuelva un nuevo token de pago para transacciones posteriores o no.
precio inicialnúmero
(requerido)
Precio de la transacción inicial.
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
LifeTimeSubscriptionbooleano
(opcional)
La suscripción es válida durante la vigencia del sitio web.
periodo inicialentero
(requerido)
El período de tiempo de la transacción inicial.
período recurrenteentero
(opcional)
El período de tiempo de las transacciones recurrentes.
código de monedaentero
(opcional)
Representación numérica de la moneda utilizada en la transacción.
refacturacionesentero
(opcional)
El número de veces que pueden ocurrir transacciones recurrentes.
Precio recurrentenúmero
(opcional)
Precio de transacciones recurrentes.
passThroughInfo matriz
(opcional)
Información emparejada pasada al Servicio de transacciones.

cURL

curl -X POST \
  https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84 \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{ "clientAccnum":900123, "clientSubacc":10, "initialPrice": 9.99, "initialPeriod": 10, "recurringPrice": 15.00, "recurringPeriod": 30, "rebills": 99, "currencyCode": 840, "lifeTimeSubscription": false, "createNewPaymentToken": false, "passThroughInfo": [ { "name": "val1", "value": "val2" } ] }'
  

JavaScript

var data = JSON.stringify({
  "clientAccnum": 900123,
  "clientSubacc": 10,
  "initialPrice": 9.99,
  "initialPeriod": 10,
  "recurringPrice": 15,
  "recurringPeriod": 30,
  "rebills": 99,
  "currencyCode": 840,
  "lifeTimeSubscription": false,
  "createNewPaymentToken": false,
  "passThroughInfo": [
    {
      "name": "val1",
      "value": "val2"
    }
  ]
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{ "clientAccnum":900123, "clientSubacc":10, "initialPrice": 9.99, "initialPeriod": 10, "recurringPrice": 15.00, "recurringPeriod": 30, "rebills": 99, "currencyCode": 840, "lifeTimeSubscription": false, "createNewPaymentToken": false, "passThroughInfo": [ { "name": "val1", "value": "val2" } ] }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

Un valor de retorno de 200 indica que la solicitud se realizó correctamente. Recibirás la siguiente información:

Escriba TransactionInfo
[ { "errorCode": "integer", "approved": "boolean", "paymentUniqueId": "string", "sessionId": "string", "subscriptionId": "integer", "newPaymentTokenId": "string" } ]

Parámetro Tipo Descripción
item.errorCode (obligatorio) entero Valor de condición de error de la transacción
artículo. aprobado (requerido) booleano Estado de aprobación de la transacción
artículo. paymentUniqueId (requerido) cadena Llave única conectada a la cuenta de pago
artículo. sessionId (requerido) cadena Valor de ID de sesión único para la transacción
item.subscriptionId (obligatorio) entero ID de suscripción al que pertenece la transacción
item.newPaymentTokenId (obligatorio) cadena Nuevo token de pago para transacciones posteriores

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/ transaction / payment-tokens / {payment_token_id}

Utilice este punto final para obtener datos sobre un cargo realizado anteriormente. Deberá identificar el cargo por el ID.

Proporcione el ID del token de pago como Parámetro URI.

URL de solicitud HTTP
Parámetro URI
PARÁMETROTIPODESCRIPCIÓN
Id. de token de pagocadena
(requerido)
Representación compleja del Id. del token de pago.
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valor de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json

cURL

curl -X GET \
  https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84 \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw' \
  -H 'Cache-Control: no-cache'
  

JavaScript

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW1fcGFydGljaXBhdGlvbiIsIm1vZGlmeV9wcm9ncmFtX3BhcnRpY2lwYXRpb24iXSwiZXhwIjoxNTM2MjcwMTE2LCJhdXRob3JpdGllcyI6WyJNQ05fQVBJX1RPS0VOX0NIQVJHRVIiLCJNQ05fQVBJX1RPS0VOX0NSRUFUT1IiLCJNQ05fQVBJX0FETUlOIl0sImp0aSI6IjlkZjQ5M2NjLTNmNDAtNDdmYS04ZjIwLWFiYWM5NTljOWFjYyIsImNsaWVudF9pZCI6IjUyMTc2OGFhNzU4ZDExZThhYTZiMDA1MDU2OWQxNTg1In0.e6pUqftnUlJcaz1rsxsoCBcitPvnAwAwp1ZiBl77ht0dsVRBUg3vOvruGzxELjVPKWFnu8NFXEJKEhoQXkZuqn2AiiM1u9mOJUtyQ9c1KgEMq6yTCQ_QIxGsrYcwkkr_B2yw5p_q6KHCcaAAAq4HGkKdHbo8C1GHvApD0Q7DVWRmie265Da6ln4Y1_wFHADKYTktCtLhBr4rv-5bmWHy25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXDw9X0Z6PcYPyRCkpz5I1FjsXJmIJnSKLwG8fPC2AOYPqF4p30BHLaCxvtS29jSbpfZj1W0pt708ipZSOlwHAw'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

Un valor de retorno de 200 indica que la solicitud se realizó correctamente. Recibirás la siguiente información:

Escriba TransactionInfo
[ { "errorCode": "integer", "approved": "boolean", "paymentUniqueId": "string", "sessionId": "string", "subscriptionId": "integer", "newPaymentTokenId": "string" } ]

Parámetro Tipo Descripción
item.errorCode (obligatorio) entero Valor de condición de error de la transacción
artículo. aprobado (requerido) booleano Estado de aprobación de la transacción
artículo. paymentUniqueId (requerido) cadena Llave única conectada a la cuenta de pago
artículo. sessionId (requerido) cadena Valor de ID de sesión único para la transacción
item.subscriptionId (obligatorio) entero ID de suscripción al que pertenece la transacción
item.newPaymentTokenId (obligatorio) cadena Nuevo token de pago para transacciones posteriores

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

/transacciones/fichas-de-pago/tres/{pago_token_id}

Utilice esta llamada API para obtener datos sobre un cargo realizado previamente con autenticación 3DS. Deberá identificar el cargo por el ID.

Proporcione el ID del token de pago como Parámetro URI.

Solicitud HTTP Enlance
Parámetro URI
PARÁMETROTIPODESCRIPCIÓN
Id. de token de pagocadena
(requerido)
Representación compleja del Id. del token de pago.
Encabezamiento
PARÁMETROTIPODESCRIPCIÓN
Aceptarcadena
(enumeración)
Versión API

Valor de la versión de la API:

  • application/vnd.mcn.transaction-service.api.v.1+json
Solicitar esquema
Parámetros de solicitud
PARÁMETROTIPODESCRIPCIÓN
crear nuevo token de pagobooleanoDevuelva un nuevo token de pago para transacciones posteriores o no.
precio inicialnúmero
(requerido)
Precio de la transacción inicial.
clienteAccnumentero
(requerido)
Número de cuenta mercantil.
clienteSubaccentero
(requerido)
Número de subcuenta de comerciante.
LifeTimeSubscriptionbooleano
(opcional)
La suscripción es válida durante la vigencia del sitio web.
periodo inicialentero
(requerido)
El período de tiempo de la transacción inicial.
período recurrenteentero
(opcional)
El período de tiempo de las transacciones recurrentes.
código de monedaentero
(opcional)
Representación numérica de la moneda utilizada en la transacción.
refacturacionesentero
(opcional)
El número de veces que pueden ocurrir transacciones recurrentes.
Precio recurrentenúmero
(opcional)
Precio de transacciones recurrentes.
passThroughInfo matriz
(opcional)
Información emparejada pasada al Servicio de transacciones.
tresedsXidcadena
(opcional)
XID para la solicitud de threeds.
versión de threedscadena
(opcional)
El número de versión para la solicitud de threeds.
tresdséxitobooleano
(opcional)
Éxito para la solicitud de threeds.
tresdsCantidadentero
(opcional)
El monto de la solicitud de tres.
tresdsEcicadena
(requerido)
Solicitud de ECI para threeds.
tresdscavvcadena
(requerido)
CAVV para solicitud de tresds.
algoritmo threedsCavvcadena
(opcional)
Algoritmo CAVV para solicitud de threeds.
tresdsidcadena
(opcional)
Id para la solicitud de threeds.
estado de tresdscadena
(opcional)
Estado de la solicitud de threeds.
ID de transacción de threedscadena
(opcional)
ID de transacción para la solicitud de threeds.
tresdsErrorcadena
(opcional)
Error para la solicitud de threeds.

cURL

curl -X POST \
  https://api.ccbill.com/transactions/payment-tokens/threeds/01047ed6f3b440c7a2ccc6abc1ad0a84 \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{"clientAccnum":"901505","clientSubacc":"0","initialPrice":"10.00","initialPeriod":"30","threedsEci":"05","threedsError":"","threedsStatus":"Y","threedsSuccess":"true","threedsVersion":"1.0.2","threedsXid":"aWQteHc4ajJnNGIxZW8gICAgICA=","threedsCavv":"cGFzc3dvcmQxMjM0NTZwYXNzd28=","threedsCavvAlgorithm":"SHA-256","threedsAmount":"10","threedsClientTransactionId":"id-wl9r6duc5zj","threedsCurrency":"USD","threedsSdkTransId":"","threedsAcsTransId":"","threedsDsTransId":"","threedsAuthenticationType":"","threedsCardToken":"4111111111111111","threedsErrorDetail":"","threedsErrorCode":"","threedsResponse":""}'
  

JavaScript

var data = JSON.stringify({
    "clientAccnum": "901505",
    "clientSubacc": "0",
    "initialPrice": "10.00",
    "initialPeriod": "30",
    "threedsEci": "05",
    "threedsError": "",
    "threedsStatus": "Y",
    "threedsSuccess": "true",
    "threedsVersion": "1.0.2",
    "threedsXid": "aWQteHc4ajJnNGIxZW8gICAgICA=",
    "threedsCavv": "cGFzc3dvcmQxMjM0NTZwYXNzd28=",
    "threedsCavvAlgorithm": "SHA-256",
    "threedsAmount": "10",
    "threedsClientTransactionId": "id-wl9r6duc5zj",
    "threedsCurrency": "USD",
    "threedsSdkTransId": "",
    "threedsAcsTransId": "",
    "threedsDsTransId": "",
    "threedsAuthenticationType": "",
    "threedsCardToken": "4111111111111111",
    "threedsErrorDetail": "",
    "threedsErrorCode": "",
    "threedsResponse": ""
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.ccbill.com/transactions/payment-tokens/threeds/01047ed6f3b440c7a2ccc6abc1ad0a84");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ");
xhr.setRequestHeader("Cache-Control", "no-cache");

xhr.send(data);

PHP

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/transactions/payment-tokens/threeds/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibWNuLXRyYW5zYWN0aW9uLXNlcnZpY2UiLCJtY24tYWRtaW4tc2VydmljZSJdLCJzY29wZSI6WyJjcmVhdGVfdG9rZW4iLCJyZWFkX3Rva2VuIiwiY2hhcmdlX3Rva2VuIiwiY3JlYXRlX3Byb2dyYW0iLCJyZWFkX3Byb2dyYW0iLCJjcmVhdGVfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIiwicmVhZF9wcm9ncmFtX3BhcnRpY2lwYXRpb24iLCJtb2RpZnlfcHJvZ3JhbV9wYXJ0aWNpcGF0aW9uIl0sImV4cCI6MTUzNzM4MDczNiwiYXV0aG9yaXRpZXMiOlsiTUNOX0FQSV9UT0tFTl9DSEFSR0VSIiwiTUNOX0FQSV9UT0tFTl9DUkVBVE9SIiwiTUNOX0FQSV9BRE1JTiJdLCJqdGkiOiI4YzI2Njg1MC00NjMzLTQzZDMtYjZjOC1lNzIyY2ExNjQ1YTUiLCJjbGllbnRfaWQiOiI1MjE3NjhhYTc1OGQxMWU4YWE2YjAwNTA1NjlkMTU4NSJ9.HRYXZFATkIcI2_LJ1W_xo67IfBnbN9atyYNzyHqseLxYUxzgwBsAV5rNqCixKemOrDIeQLBN4jrwRsBIHDpEvshwBC8XmTodDJzpGmMaU9s1r20RV68X0_d1yTgSDke_Of7VCrVmJRbSuDl7AgsfTqQ1J7nWyu9vcIaER93ms-vadser_Ot9Z68_HAmCJL3DCLpdIFq3PYtBMKKKqXbvhfhSZQZD3b6-aewAnBo0VzpvK6tREqw1rv9_73oAvYcW2aHAj79ILr8viWMM40LyDKMMYOYkneg3hJUQsUVeh9WzztYUJKzERYNXje9fYIGN-eofoLvX7OZJ3eXmIfkrfQ',
  'Content-Type' => 'application/json'
));

$request->setBody('{"clientAccnum":"901505","clientSubacc":"0","initialPrice":"10.00","initialPeriod":"30","threedsEci":"05","threedsError":"","threedsStatus":"Y","threedsSuccess":"true","threedsVersion":"1.0.2","threedsXid":"aWQteHc4ajJnNGIxZW8gICAgICA=","threedsCavv":"cGFzc3dvcmQxMjM0NTZwYXNzd28=","threedsCavvAlgorithm":"SHA-256","threedsAmount":"10","threedsClientTransactionId":"id-wl9r6duc5zj","threedsCurrency":"USD","threedsSdkTransId":"","threedsAcsTransId":"","threedsDsTransId":"","threedsAuthenticationType":"","threedsCardToken":"4111111111111111","threedsErrorDetail":"","threedsErrorCode":"","threedsResponse":""}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
Esquemas de respuesta
Respuesta

Un valor de retorno de 200 indica que la solicitud se realizó correctamente. Recibirás la siguiente información:

Escriba TransactionInfo
[ { "errorCode": "integer", "approved": "boolean", "paymentUniqueId": "string", "sessionId": "string", "subscriptionId": "integer", "newPaymentTokenId": "string" } ]

Parámetro Tipo Descripción
item.errorCode (obligatorio) entero Valor de condición de error de la transacción
artículo. aprobado (requerido) booleano Estado de aprobación de la transacción
artículo. paymentUniqueId (requerido) cadena Llave única conectada a la cuenta de pago
artículo. sessionId (requerido) cadena Valor de ID de sesión único para la transacción
item.subscriptionId (obligatorio) entero ID de suscripción al que pertenece la transacción
item.newPaymentTokenId (obligatorio) cadena Nuevo token de pago para transacciones posteriores

La respuesta no se pudo completar debido a un encabezado / parámetro no válido en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó debido a un problema de autorización.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

No se pudo completar la respuesta porque el acceso al recurso está prohibido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un recurso no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un método de solicitud no válido.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio inaceptable en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se pudo completar debido a un tipo de medio no compatible en la solicitud.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada

La respuesta no se completó de alguna manera.

Error de tipo
{ "id": "string", "url": "string", "errors": [ { "field": "string", "message": "string" } ], "generalMessage": "string", "errorCode": "string", "timestamp": "datetime" }

Parámetro Tipo Descripción
id (requerido) cadena GUID generado aleatoriamente.
Patrón de validación: ^ [a-zA-Z0-9 -] * $
Example: "62432dd8-97d9-400a-8da8-4a5c1951f935"
url (obligatorio) cadena La URL RELATIVA que ha causado este error. Ejemplo: "/ programas / 123"
errores ValidationError [objeto] Opcional, solo se devuelve en 400 errores de solicitud incorrecta por errores de validación
errores. Campo requerido) cadena Campo en error
errores. mensaje requerido) cadena Mensaje descriptivo
generalMessage (obligatorio) cadena Un mensaje legible por humanos
errorCode (obligatorio) cadena Código de error definido por el producto.
Patrón de validación: ^ [0-9 -] * $
marca de tiempo (obligatorio) datetime Marca de tiempo de la llamada