Obtener factura
Para obtener una factura se debe llamar al recurso /invoice/get
mediante un método GET.
apiKey required | string apiKey del comercio |
invoiceId required | number Identificador del Invoice |
s required | string La firma de los parámetros efectuada con su secretKey. |
{- "apiKey": "string",
- "invoiceId": 0,
- "s": "string"
}
Firma de parámetros
Ejemplos de firmado de parámetros en diferentes lenguajes de programación
- PHP
- NodeJS
- Phyton
$secretKey = 'my secret'
$params = array(
'apiKey' => '1F90971E-8276-4715-97FF-2BLG5030EE3B',
'token' => 'AJ089FF5467367'
);
$keys = array_keys($params);
sort($keys);
$toSign = '';
foreach($keys as $key) {
$toSign .= $key . $params[$key];
};
$signature = hash_hmac('sha256', $toSign , $secretKey);
const {createHmac} = require("node:crypto")
const secretKey = "my secret";
const params = {
apiKey: "1F90971E-8276-4715-97FF-2BLG5030EE3B",
token: "AJ089FF5467367",
};
const keys = Object.keys(params);
keys.sort();
let toSign = "";
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
toSign += key + params[key];
}
const signature = createHmac("sha256",secretKey).update(toSign).digest("hex")
import hmac
import hashlib
secret_key
params = {
'apiKey': '1F90971E-8276-4715-97FF-2BLG5030EE3B',
'token': 'AJ089FF5467367'
}
keys = list(params.keys())
keys.sort()
to_sign = ''
for key in keys:
to_sign += key + params[key]
signature = hmac.new(secret_key.encode(), to_sign.encode(), hashlib.sha256).hexdigest()
El servicio retorna el objeto invoice.
id | number Identificador del importe |
subscriptionId | string Identificador de la suscripción |
customerId | string Identificador del cliente |
created | string <yyyy-mm-dd hh:mm.ss> Fecha de creación del importe |
subject | string Descripción del importe |
currency | string Moneda del importe |
amount | number Monto del importe |
period_start | string <yyyy-mm-dd hh:mm.ss> Fecha de inicio del período del importe |
period_end | string <yyyy-mm-dd hh:mm.ss> Fecha de término del período del importe |
attemp_count | integer Número de intentos de cobro del importe |
attemped | integer Si este importe se cobrará:
|
next_attemp_date | string <yyyy-mm-dd hh:mm.ss> Fecha del siguiente intento de cobro |
due_date | string <yyyy-mm-dd hh:mm.ss> Fecha en que este importe será considerado moroso |
status | integer Estado del importe:
|
error | integer Si se produjo un error al intentar cobrar el invoice:
|
errorDate | string <yyyy-mm-dd hh:mm.ss> Fecha en que se produjo el error o null si no hay error |
errorDescription | string Descripción de error o null si no hay error |
Array of objects (InvoiceItem) Items del invoice | |
object or null (PaymentStatus) Objeto que representa un cobro y si está pagado su correspondiente pago | |
object or null (OutsidePayment) Objeto que muestra los datos de un pago por fuera | |
paymentLink | string Link de pago. Cuando el invoice no esta pagado |
Array of objects (ChargeAttemps) Intentos de cargo fallidos |
{- "id": 1034,
- "subscriptionId": "sus_azcyjj9ycd",
- "customerId": "cus_eblcbsua2g",
- "created": "2018-06-26 17:29:06",
- "subject": "PlanPesos - período 2018-06-27 / 2018-06-27",
- "currency": "CLP",
- "amount": 20000,
- "period_start": "2018-06-27 00:00:00",
- "period_end": "2018-07-26 00:00:00",
- "attemp_count": 0,
- "attemped": 1,
- "next_attemp_date": "2018-07-27 00:00:00",
- "due_date": "2018-06-30 00:00:00",
- "status": 0,
- "error": 0,
- "errorDate": "2018-06-30 00:00:00",
- "errorDescription": "The minimum amount is 350 CLP",
- "items": [
- {
- "id": 567,
- "subject": "PlanPesos - período 2018-06-27 / 2018-06-27",
- "type": 1,
- "currency": "CLP",
- "amount": 20000
}
], - "payment": {
- "flowOrder": 3567899,
- "commerceOrder": "sf12377",
- "requestDate": "2017-07-21 12:32:11",
- "status": 1,
- "subject": "game console",
- "currency": "CLP",
- "amount": 12000,
- "payer": "pperez@gamil.com",
- "optional": {
- "RUT": "7025521-9",
- "ID": "899564778"
}, - "pending_info": {
- "media": "Multicaja",
- "date": "2017-07-21 10:30:12"
}, - "paymentData": {
- "date": "2017-07-21 12:32:11",
- "media": "webpay",
- "conversionDate": "2017-07-21",
- "conversionRate": 1.1,
- "amount": 12000,
- "currency": "CLP",
- "fee": 551,
- "balance": 11499,
- "transferDate": "2017-07-24"
}, - "merchantId": "string"
}, - "outsidePayment": {
- "date": "2021-03-08 00:00:00",
- "comment": "Pago por caja"
}, - "chargeAttemps": [
- {
- "id": 901,
- "date": "2018-12-06 15:03:33",
- "customerId": "cus_1uqfm95dch",
- "invoiceId": 1234,
- "commerceOrder": "1883",
- "currency": "CLP",
- "amount": 90000,
- "errorCode": 1605,
- "errorDescription": "This commerceOrder 1883 has been previously paid"
}
]
}