Introducción
La API AlquimiaPay expone una serie de métodos enfocados en instruir y autorizar operaciones financieras, además de consultas de información, e instrucción de otras funcionalidades.
Métodos de autenticación
Para invocar los servicios de la API, es indispensable generar dos tokens:
- Token API Manager, con vigencia de 10 minutos
- Token AlquimiaPay, con vigencia de 24 horas
URL de la API
https://wso2.alquimiapay.com/
Contexto Pruebas
/sanboxalquimiapay/
Contexto Producción
/apialquimiapay/
Toda referencia a URL_BASE o URL deberá ser sustituida por dicha URL según sea el caso, pruebas o productivo. Asi mismo las referencias contexto deberán ser sustituidas por dicho contexto según sea el caso`
Generación de token de Api Manager
Entorno Producción:
curl -k -X POST <URL_BASE> -d "grant_type=client_credentials" -H \
"Authorization: Basic <Al momento de pasar al ambiente productivo, se hace llegar este parámetro>"
var settings = {
"url": "https://wso2.alquimiapay.com/token",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic <Al momento de pasar al ambiente productivo, se hace llegar este parámetro>"
},
"data": {
"grant_type": "client_credentials"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=client_credentials',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic <Al momento de pasar al ambiente productivo, se hace llegar este parámetro>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'grant_type=client_credentials'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic <Al momento de pasar al ambiente productivo, se hace llegar este parámetro>',
}
conn.request("POST", "/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Entorno Pruebas:
curl -k -X POST <URL_BASE> -d "grant_type=client_credentials" -H \
"Authorization: Basic TjJmdFFqZGVWTjd5RlQyMnA3ejJlV2tJQnVZYTpqOWQxZ0xZel9xekRHNmJhcXhzUFZNems0Sklh"
var settings = {
"url": "https://wso2.alquimiapay.com/token",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic TjJmdFFqZGVWTjd5RlQyMnA3ejJlV2tJQnVZYTpqOWQxZ0xZel9xekRHNmJhcXhzUFZNems0Sklh"
},
"data": {
"grant_type": "client_credentials"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=client_credentials',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic TjJmdFFqZGVWTjd5RlQyMnA3ejJlV2tJQnVZYTpqOWQxZ0xZel9xekRHNmJhcXhzUFZNems0Sklh'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'grant_type=client_credentials'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic TjJmdFFqZGVWTjd5RlQyMnA3ejJlV2tJQnVZYTpqOWQxZ0xZel9xekRHNmJhcXhzUFZNems0Sklh',
}
conn.request("POST", "/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"access_token": "eyJ4NXQiOiJNell4TW1Ga09…...",
"scope": "am_application_scope default",
"token_type": "Bearer",
"expires_in": 600
}
Para generar el token de Api Manager se realiza mediante un request con las credenciales y URL descrita para este propósito. Al generar el token este servirá para enviarlo en la cabecera Authorization con el valor Bearer ACCESS_TOKEN, con esto, los servicios de consumo del api en general podrán responder de forma adecuada ya que funciona como un login.
Http Request
POST https://wso2.alquimiapay.com/token
Token Alquimia
Entorno Producción:
curl -k -X POST https://vitae.alquimiadigital.mx/cpanel/index.php/api/oauth2/token \
-d "grant_type=password&client_id=testclient&client_secret=testpass&username=<usuario>&password=<password>"
var settings = {
"url": "https://vitae.alquimiadigital.mx/cpanel/index.php/api/oauth2/token",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"grant_type": "password",
"username": "[email protected]",
"password": "Tupassword",
"client_id": "testclient",
"client_secret": "testpass"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://vitae.alquimiadigital.mx/cpanel/index.php/api/oauth2/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=password&username=ejemplo%40alquimiapay.com&password=Tupassword&client_id=testclient&client_secret=testpass',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("vitae.alquimiadigital.mx")
payload = 'grant_type=password&username=ejemplpo%40alquimiapay.com&password=Tupassword&client_id=testclient&client_secret=testpass'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/cpanel/index.php/api/oauth2/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Entorno Pruebas:
curl -k -X POST https://demomatic.alquimiadigital.mx/cpanel/index.php/api/oauth2/token \
-d "grant_type=password&client_id=testclient&client_secret=testpass&username=<usuario>&password=<password>"
import http.client
conn = http.client.HTTPSConnection("demomatic.alquimiadigital.mx")
payload = 'grant_type=password&username=ejemplpo%40alquimiapay.com&password=Tupassword&client_id=testclient&client_secret=testpass'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/cpanel/index.php/api/oauth2/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://demomatic.alquimiadigital.mx/cpanel/index.php/api/oauth2/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=password&username=ejemplo%40alquimiapay.com&password=Tupassword&client_id=testclient&client_secret=testpass',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("demomatic.alquimiadigital.mx")
payload = 'grant_type=password&username=ejemplpo%40alquimiapay.com&password=Tupassword&client_id=testclient&client_secret=testpass'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/cpanel/index.php/api/oauth2/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"access_token": "0e22c85bc36bd7...",
"expires_in": 86400,
"token_type": "Bearer",
"scope": null,
"refresh_token": "23147c1fbcd51fbbefa..."
}
Para la generación del Token Alquimia, es necesario contar con credenciales de inicio de sesión y haber restablecido la contraseña de la banca por primera vez.
URL de la Banca
- Demo:
https://demomatic.alquimiadigital.mx
- Producción:
https://vitae.alquimiadigital.mx
Http request
POST /cpanel/index.php/api/oauth2/token
Cuentas de ahorro/Wallett
Listar Cuentas
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cliente=12345",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cliente=12345',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cliente=12345", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id_cuenta_ahorro": 12345,
"id_cliente": 12345,
"nombre_cliente": "NOMBRE DEL USUARIO",
"id_producto_ahorro_empresa": 123,
"saldo_ahorro": 0,
"fecha_alta": "2022-02-08 13:42:53",
"fecha_actualizacion": "2022-02-08 13:42:53",
"activo": 0,
"aplica_liquidacion": 0,
"no_cuenta": "0000000000000001",
"fecha_actualizacion_movimientos": null,
"tarjeta_id": 0,
"retiro_pendiente": "0.00",
"cuenta_eje": null,
"cuenta_clabe": null,
"nombre_centro_costos": null,
"tipo_persona": "Persona Física",
"tipo_persona_int": 0,
"fondeador_stp_id": 0,
"alias": null,
"id_cuenta_ahorro_padre": null,
"nombre_empresa": "EJEMPLO.COM SA DE CV",
"_links":{"self":{"href": "http://vitae.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/12345"…}
}
Servicio para listar las cuentas, saldos y estados de cuentas del cliente.
Http Request
GET /1.0.0/v2/cuenta-ahorro-cliente
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id_cliente | int | Identificador del cliente, se obtiene del servicio Perfil del usuario. |
page | int | Identificador para mostrar la página en la que estemos situados, de acuerdo a la cantidad de registros que se obtengan. |
registros | int | Número de registros a recuperar, si no se coloca por default trae 20. |
Consulta de Saldo
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/saldo-cuenta-ahorro?no_cuenta=123456789012345678",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/saldo-cuenta-ahorro?no_cuenta=123456789012345678',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer eyJ4NXQiOiJNell4TW1Ga09HWXdNV0kwW...'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/saldo-cuenta-ahorro?no_cuenta=123456789012345678", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"saldo": "0.00"
}
Servicio para consultar el saldo de la cuenta de ahorro en base a la cuenta clabe emparejada.
Http request
GET /1.0.0/v2/saldo-cuenta-ahorro
Parametros
Parametro | Tipo | Descripción |
---|---|---|
no_cuenta | int | No. de cuenta CLABE emparejada a la cuenta de ahorro. |
Consulta de Movimientos
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta ahorro>/transaccion'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id_transaccion": 1234,
"id_cuenta_ahorro": 123,
"id_medio_pago": 4,
"id_producto_ahorro": 56,
"id_cliente": 123,
"id_instructor": null,
"tipo_movimiento": 31,
"numero_cuenta": null,
"numero_empleado": null,
"empresa": null,
"fecha_operacion": "2022-04-05",
"tipo_cargo": 1,
"monto": "0.02",
"iva": "0.00",
"tipo_operacion": -1,
"medio_pago": null,
"medio_pago_concepto": null,
"medio_pago_clave_rastreo": null,
"medio_pago_cuenta_origen": null,
"medio_pago_cuenta_destino": null,
"medio_pago_estatus": null,
"descripcion_operacion_cliente": null,
"responsable_transaccion": null,
"referencia_numerica_cuenta_ahorro_cliente_medio_pago": null,
"valor_real": -0.02,
"fecha_alta": "2022-04-05 16:34:13",
"fecha_actualizacion": "2022-04-05 16:34:13",
"estatus_debito": 0,
"concepto": "test_status",
"descripcion": null,
"tipo_string": null,
"tipo_movimiento_string": null,
"moneda": null,
"fecha_consumo": null,
"id_movimiento_proveedor": null,
"transaccion_conciliada": 0,
"estatus_transaccion": 4,
"observaciones": "{\"folio_orden\":\"323340672842181\"}",
"tipo_transaccion": 0,
"cuenta_origen": null,
"id_establecimiento": null,
"id_categoria": null,
"clave_rastreo": "AQPAY002022040516341122497830",
"id_cuenta_ahorro_medio_pago": 0,
"tipo_alerta": 2,
"concepto_otro": null,
"cnxn_remesa": 0,
"is_paycash": "0",
"data_paycash": false,
"categoria": null,
"establecimiento": null,
"imagen_medio_pago": "https://demomatic.alquimiadigital.mx/cpanel/index.php/api/v1/imagen/12387"
}
Servicio para listar los movimientos hechos por la cuenta de ahorro del cliente
Http Request
Get /1.0.0/v2/cuenta-ahorro-cliente
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id_cuenta_ahorro | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente |
page | int | Identificador para mostrar la página en la que estemos situados, de acuerdo a la cantidad de registros que se obtengan. |
registros | int | Número de registros a recuperar, si no se coloca por default trae 20. |
fecha_inicio | string | Fecha inicio para filtrado de movimientos a partir de esta fecha, se debe enviar en formato: yyyy-mm-dd, ejemplo: 2021-10-01 |
fecha_fin | string | Fecha fin para filtrado de movimientos hasta esta fecha, se debe enviar en formato: yyyy-mm-dd, ejemplo: 2021-10-30 |
Transacciones SPEI, Tarjeta o Misma Institución
Instruir Uno a Uno
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/guardar-transacciones'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/guardar-transacciones",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"cuenta_origen": "123",
"id_cliente": "12345",
"medio_pago": "4",
"importe": "0.02",
"cuenta_destino": "100000000000000001",
"codigo_banco": "014",
"guarda_cuenta_destino": "true",
"nombre_beneficiario": "Nombre Ejemeplo",
"rfc_beneficiario": "NA",
"email_beneficiario": "[email protected]",
"concepto": "test_status",
"no_referencia": "100001",
"api_key": "xxxxxApykeyxxxxx"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/guardar-transacciones',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'cuenta_origen=123&id_cliente=12345&medio_pago=4&importe=0.02&cuenta_destino=100000000000000001&codigo_banco=014&guarda_cuenta_destino=true&nombre_beneficiario=Nombre%20Ejemplo&rfc_beneficiario=NA&email_beneficiario=ejemplo%2Bqa%40alquimiapay.com&concepto=test_status&no_referencia=100119&api_key=xxxxxApykeyxxxxx',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'cuenta_origen=123&id_cliente=12345&medio_pago=4&importe=0.02&cuenta_destino=659803000000189265&codigo_banco=014&guarda_cuenta_destino=true&nombre_beneficiario=Nombre%20Ejemplo&rfc_beneficiario=NA&email_beneficiario=ejemplo%2Bqa%40alquimiapay.com&concepto=test_status&no_referencia=100119&api_key=xxxxxApykeyxxxxx'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/guardar-transacciones", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"id_transaccion": 1135,
"folio_orden": "263028",
"message": "Operación registrada con exito. Estado: Aplicada.",
"pendiente": true
}
Servicio para hacer transacciones de la cuenta de ahorro a otra cuenta.
Http Request
POST /1.0.0/v2/guardar-transacciones
Parametros
Parametro | Tipo | Descripción |
---|---|---|
cuenta_origen | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. |
id_cliente | int | Identificador del usuario, se obtiene del servicio Perfil del usuario. |
medio_pago | int | Identificador del medio de pago, que tiene asociado la cuenta de ahorro, se obtiene del servicio Catálogo de medios de Pago. |
importe | int | Es el monto a dispersar. |
cuenta_destino | int | Cuenta destino. |
codigo_banco | int | El código del banco a seleccionar, deben de ser 3 dígitos, se obtiene del servicio de Catálogo de bancos, valor del nodo “nombre”. |
guarda_cuenta_destino | boolean | Si la transacción es correcta guardará la cuenta para futuras transacciones, true para guardar, false para no guardar los datos. |
nombre_beneficiario | string | Nombre del Beneficiario. |
rfc_beneficiario | string | RFC del Beneficiario. |
email_beneficiario | string | Email del Beneficiario. |
concepto | string | Concepto de la transacción |
no_referencia | int | Número de referencia de la transacción. |
api_key | string | API Key generada para la cuenta de ahorro. |
codigo_trasaccional | string | Código generado por el cliente |
soft_token | string | Código generado en aplicativo AQPayToken |
Transferencia de cuenta madre a tarjetas AlquimiaPay
Para transacción de cuenta madre a tarjeta, se utilizan los mismos parámetros de la tabla de arriba, pero haciendo cambio de los siguientes valores.
Parametro | Tipo | Descripción |
---|---|---|
medio_pago | int | Identificador del medio de pago, que tiene asociado la cuenta de ahorro, se obtiene del servicio Catálogo de medios de Pago. id_medio_pago": 2 |
cuenta_destino | int | dentificador (id_cuenta_ahorro) que se obtiene del servicio https://wso2.alquimiapay.com/apialquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=xxxx o el numero de tarjeta alquimiapay a 16 digitos |
Transferencia entre tarjetas AlquimiaPay
Para transacción entre tarjetas, se utilizan los mismos parámetros de la tabla de arriba, pero haciendo cambio de los siguientes valores.
Parametro | Tipo | Descripción |
---|---|---|
medio_pago | int | Identificador del medio de pago, que tiene asociado la cuenta de ahorro, se obtiene del servicio Catálogo de medios de Pago. id_medio_pago": 5 |
cuenta_destino | int | dentificador (id_cuenta_ahorro) que se obtiene del servicio https://wso2.alquimiapay.com/apialquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=xxxx o el numero de tarjeta alquimiapay a 16 digitos |
Instruir Por Lote
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/importador-transacciones-json'
var settings = {
"url": "https://wso2.alquimiapay.com//sanboxalquimiapay/1.0.0/v2/importador-transacciones-json",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"cuenta_origen": "123",
"medio_pago": "4",
"api_key": "xxxxxxxxxxxxApiKeyxxxxxxxxxx",
"id_cliente": "12345",
"json_transacciones": "[{\"cuenta_destino\":\"010000000000000001\",\"importe\":\"0.02\",\"concepto\":\"Demo\",\"nombre_beneficiario\":\"Alejandro\",\"rfc_beneficiario\":\"Ejemplo000000\",\"email_beneficiario\":\"[email protected]\",\"no_referencia\":\"101010\",\"concepto_2\":\"na\",\"id_externo\":\"101001\"},{\"cuenta_destino\":\"010000000000000001\",\"importe\":\"0.02\",\"concepto\":\"Demo2\",\"nombre_beneficiario\":\"Nombre\",\"rfc_beneficiario\":\"Ejemplo000000\",\"email_beneficiario\":\"[email protected]com\",\"no_referencia\":\"101011\",\"concepto_2\":\"na\",\"id_externo\":\"101002\"}]"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com//sanboxalquimiapay/1.0.0/v2/importador-transacciones-json',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'cuenta_origen=123&medio_pago=4&api_key=xxxxxxxxxxxxApiKeyxxxxxxxxxx&id_cliente=12345&json_transacciones=%5B%7B%22cuenta_destino%22%3A%22010000000000000001%22%2C%22importe%22%3A%220.02%22%2C%22concepto%22%3A%22Demo%22%2C%22nombre_beneficiario%22%3A%22Nombre%22%2C%22rfc_beneficiario%22%3A%22Ejemplo000000%22%2C%22email_beneficiario%22%3A%22ejemplo%40alquimiapay.com%22%2C%22no_referencia%22%3A%22101010%22%2C%22concepto_2%22%3A%22na%22%2C%22id_externo%22%3A%22101001%22%7D%2C%7B%22cuenta_destino%22%3A%22010000000000000001%22%2C%22importe%22%3A%220.02%22%2C%22concepto%22%3A%22Demo2%22%2C%22nombre_beneficiario%22%3A%22Ejemplo%22%2C%22rfc_beneficiario%22%3A%22Ejemplo000000%22%2C%22email_beneficiario%22%3A%22ejemplo%40alquimiapay.com%22%2C%22no_referencia%22%3A%22101011%22%2C%22concepto_2%22%3A%22na%22%2C%22id_externo%22%3A%22101002%22%7D%5D',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'cuenta_origen=123&medio_pago=4&api_key=xxxxxxxxxxxxApiKeyxxxxxxxxxx&id_cliente=12345&json_transacciones=%5B%7B%22cuenta_destino%22%3A%22010000000000000001%22%2C%22importe%22%3A%220.02%22%2C%22concepto%22%3A%22Demo%22%2C%22nombre_beneficiario%22%3A%22Ejemplo%22%2C%22rfc_beneficiario%22%3A%22Ejemplo000000%22%2C%22email_beneficiario%22%3A%22ejemplo%40alquimiapay.com%22%2C%22no_referencia%22%3A%22101010%22%2C%22concepto_2%22%3A%22na%22%2C%22id_externo%22%3A%22101001%22%7D%2C%7B%22cuenta_destino%22%3A%22010000000000000001%22%2C%22importe%22%3A%220.02%22%2C%22concepto%22%3A%22Demo2%22%2C%22nombre_beneficiario%22%3A%22Nombre%22%2C%22rfc_beneficiario%22%3A%22Ejemplo000000%22%2C%22email_beneficiario%22%3A%22ejemplo%40alquimiapay.com%22%2C%22no_referencia%22%3A%22101011%22%2C%22concepto_2%22%3A%22na%22%2C%22id_externo%22%3A%22101002%22%7D%5D'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "//sanboxalquimiapay/1.0.0/v2/importador-transacciones-json", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"pendiente": true,
"message": "Orden registrada con exito",
"folio_orden": "271288",
"id_transacciones": [
{
"id_externo": "101001",
"id_transaccion": 3089,
},
{
"id_externo": "101002",
"id_transaccion": 3090
}
]
}
Servicio para hacer transacciones masivas de la cuenta de ahorro a otras cuentas.
Http Request
POST /1.0.0/v2/importador-transacciones-json
Parametros
Parametro | Tipo | Descripción |
---|---|---|
cuenta_origen | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. |
medio_pago | int | Identificador del medio de pago, que tiene asociado la cuenta de ahorro, se obtiene del servicio Catálogo de medios de Pago. |
codigo_seguridad | int | Código generado por el cliente. |
soft_token | int | Código generado en aplicativo AQPayToken. |
api_key | string | API Key generada para la cuenta de ahorro. (en caso de no usar codigo_seguridad y soft_token). |
id_cliente | string | Identificador del cliente, se obtiene del servicio Perfil del usuario. |
json_transacciones | json | Ejemplo de json: [{"cuenta_destino":"000000000000000001","importe":"0.02","concepto":"Demo","nombre_beneficiario":"Nombre","rfc_beneficiario":"Ejemplo000000","email_beneficiario":"[email protected]","no_referencia":"101010","concepto_2":"na","id_externo":"101001"}{"cuenta_destino":"000000000000000002","importe":"0.02","concepto":"Demo2","nombre_beneficiario":"Nombre","rfc_beneficiario":"Ejemplo000000","email_beneficiario":"[email protected]","no_referencia":"101011","concepto_2":"na","id_externo":"101002"}] |
Confirmar Transacciones
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/ordenes-importador'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/ordenes-importador",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"id_transaccion": "1234",
"accion": "1",
"id_cuenta": "123",
"api_key": "xxxxxxxxxxxxApiKeyxxxxxxxxxx"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/ordenes-importador',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'id_transaccion=1234&accion=1&id_cuenta=123&api_key=xxxxxxxxxxxxApiKeyxxxxxxxxxx',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'id_transaccion=1234&accion=1&id_cuenta=123&api_key=xxxxxxxxxxxxApiKeyxxxxxxxxxx'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/ordenes-importador", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error":false,
"message":"Éxito"
}
Servicio para autorizar las transacciones pendientes, una vez autorizada en automático procede la dispersión a la cuenta destino.
Http Request
POST /1.0.0/v2/ordenes-importador
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id_transaccion | int | Identificador que se obtiene del servicio de Listado de Transferencias pendientes, se pueden enviar múltiples id de transacciones separados por coma sin espacios. ejemplo: 15896,15855,78966. |
accion | int | 1 => Autoriza las transacciones, 2 => Elimina las transacciones. |
id_cuenta | int | Id de la cuenta donde se realizaron las transacciones pendientes, se obtiene del servicios Cuentas de ahorro del cliente. |
api_key | string | API Key generada para la cuenta de ahorro. |
Servicios
Listar TX pendientes
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/ordenes-importador?expand=datos'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/ordenes-importador?expand=datos&id_cuenta=123&page=1®istros=100",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/ordenes-importador?expand=datos&id_cuenta=123&page=1®istros=100',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/ordenes-importador?expand=datos&id_cuenta=123&page=1®istros=100", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id": 3141,
"folio_orden": "233875789125435",
"datos": "{\"cuenta_origen\":123,\"cuenta_eje\":\"100000000000000009\",\"medio_pago_origen\":4,\"medio_pago\":\"4\",\"cuenta_destino\":\"550000000000001\",\"importe\":\"0.02\",\"comision\":\"0.00\",\"total\":0.02,\"concepto\":\"test\",\"concepto_otro\":0,\"nombre_beneficiario\":\"usuario\",\"rfc_beneficiario\":\"NA\",\"email_beneficiario\":\"[email protected]\",\"no_referencia\":\"100001\",\"id_cuenta_destino\":0,\"id_cliente_receptor\":0,\"id_tarjeta_receptora\":0}",
"estatus": 3,
"activo": 0,
"fecha_alta": "2022-04-05 16:23:40",
"fecha_actualizacion": "2022-04-05 16:23:40",
"usuario_autorizador": 0,
"fecha_autorizacion": null,
"usuario_instructor": 12345,
"fecha_instruccion": "2022-04-05 16:23:40",
"detalle_error": null,
"id_transaccion_ahorro_cliente": 0,
"id_transaccion_spei": 0,
"id_externo": 0,
"_embedded":{
"datos":{"cuenta_origen": 123, "cuenta_eje": "100000000000000009", "medio_pago_origen": 4, "medio_pago": "4",…}
}
Servicio para listar las transferencias pendientes por la cuenta de ahorro del cliente.
Http Request
GET /1.0.0/v2/ordenes-importador
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id_cuenta | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. |
page | int | Identificador para mostrar la página en la que estemos situados, de acuerdo a la cantidad de registros que se obtengan. |
registros | int | Número de registros a recuperar, si no se coloca por default trae 20. |
Comprobante de transacción
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/transaccion/<id_transaccion>/comprobante'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion/1234/comprobante",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"id_cuenta_ahorro": "123",
"id_transaccion": "1234"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion/1234/comprobante',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'id_cuenta_ahorro=123&id_transaccion=1234',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'id_cuenta_ahorro=123&id_transaccion=1234'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/123/transaccion/1234/comprobante", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"resumen":
{
"descripcion":"-",
"monto":"0.02",
"tipo":"Cargo",
"fecha":"2021-09-07 16:05:09",
"estatus":"Aplicada",
"concepto":"cuenta CLABE",
"clave_rastreo":"AQPAY00000000000000000000775",
"no_referencia":"123456",
"validar_transferencia":"https://www.banxico.org.mx/cep/",
"folio_autorización":"151275889","password":"","vigencia":""
},
"alquimia":
{
"nombre":"Alquimia Digital MX SAPI DE CV",
"calle_numero":"Cerrada Aniceto Ortega No. 623,",
"colonia":"Col. Del Valle Sur",
"cp":"03100",
"delegacion":"Benito Juárez",
"estado":"Ciudad de México",
"web":"www.alquimiapay.com"
},
"ordenante":
{
"comercio":"",
"categoria":"",
"nombre":"DESARROLLO SA ",
"rfc":"RFC0000001",
"cuenta_eje":"1000000000000005",
"tipo_persona":"PERSONA MORAL",
"medio_pago":"SPEI STP - Alquimia PAY",
"clabe":"646180127301500000",
"referencia_ordenante":"",
"no_tarjeta":"","institucion":"STP"
},
"beneficiario":
{
"comercio":"",
"categoria":"",
"nombre":"Nombre Ejemplo",
"tipo_persona":"PERSONA FÍSICA",
"rfc":"RFC0000001",
"curp":"",
"cuenta_eje":"123456789012345678",
"medio_pago":"SPEI STP - Alquimia PAY",
"no_tarjeta":"",
"institucion":"BANCO EJEMPLO",
"cuenta_destino":"123456789012345678"
},
"operador":
{
"nombre":"T*****A D*****O D*****O "
},
"autorizador":
{
"nombre":"T*****A D*****O D*****O "
},
"titulo_comprobante":
{
"titulo_comprobante1":"Comprobante de transacción",
"titulo_comprobante2":"SPEI",
"titulo_comprobante3":""
},
"adicionales":
{
"id_medio_pago":3,
"tipo_movimiento":31,
"monedero_padre":false,
"reversa_movimiento":false
}
}
Servicio que devuelve los datos únicamente de las transacciones hechas de la cuenta de ahorro, para hacer un comprobante.
Http Request
POST /1.0.0/v2/cuenta-ahorro-cliente
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id_cuenta_ahorro | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. |
id_transaccion | int | Identificador del usuario, se obtiene del servicio Perfil del usuario. |
Listar Perfil de Usuario
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/perfil'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/perfil",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/perfil',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/perfil", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id_cliente":18332,
"nombre":"Nombre Ejemplo",
"apellido_paterno":"Apellido1",
"apellido_materno":"Apellido1",
"fecha_nacimiento":"2000-02-25",
"sexo":"M",
"email":"[email protected]",
"rfc":"RFC0000001",
"curp":"CURP_EJEMPLO_1",
"nacionalidad":"MX",
"tipo_usuario":"administrador"
}
Servicio que devuelve los datos del usuario con el cual generó el token o en sesión.
Http Request
POST /1.0.0/v2/perfil
Catalogos de Banco
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/catalogo-bancos'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/catalogo-bancos",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/catalogo-bancos',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/catalogo-bancos", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
[{
"id":1,
"nombre":"BANCOMEXT",
"codigo":"006",
"fecha_alta":"2020-02-20 16:27:22",
"fecha_actualizacion":"2020-02-20 16:27:22",
"activo":0,"_links":{"
self":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/catalogo-bancos/1"
},
"catalogo-bancos_collection":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/catalogo-bancos"
},
"curies":[{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/catalogo-bancos/1?expand={rel}",
"name":"expand","title":"Embeddable related resources."
}]
}
}]
Servicio que devuelve el listado del banco de acuerdo a la clave, primeros 3 dígitos.
Http Request
GET /1.0.0/v2/catalogo-bancos
Parametros
Parametros | Tipo | Descripción |
---|---|---|
b | int | Valor que contiene 3 dígitos, este devolverá el banco con dicha clave, ejemplo, 012 nos devolverá el banco BBVA BANCOMER. (si no se conoce el valor del banco, consume el servicio sin parametros y te devolverá la lista completa de los bancos) |
Catalago de Medios de Pago
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/medio-pago'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/medio-pago",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/medio-pago',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/medio-pago", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
[{
"id_medio_pago":1,
"tipo_medio_pago":"1",
"nombre":"INNTEC",
"banco":"Monex",
"fecha_alta":"2020-02-20 00:00:00",
"fecha_actualizacion":"2022-01-07 13:41:25",
"proveedor_peticion":null,
"orden_listado":3,
"categoria":1,
"imagen":12384,
"view_image":"https://demomatic.alquimiadigital.mx/cpanel/index.php/api/v1/imagen/12384",
"_links":{
"self":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/medio-pago/1"
},
"medio-pago_collection":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/medio-pago"
},
"curies":[{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/medio-pago/1?expand={rel}",
"name":"expand","title":"Embeddable related resources."
}],
"expand:cuentaAhorroMedioPago":{
"href":"cuentaAhorroMedioPago"
},
"expand:configuracion_in":{
"href":"configuracion_in"
},
"expand:configuracion_out":{
"href":"configuracion_out"
},
"expand:configuracion_in_front":{
"href":"configuracion_in_front"
},
"expand:configuracion_out_front":{
"href":"configuracion_out_front"
},
"cuentaAhorroMedioPago":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/medio-pago/1/cuentaAhorroMedioPago"
}
}
}]
Servicio que devuelve el listado de los medios de pago asociados a la cuenta de ahorro.
Http Request
GET /1.0.0/v2/medio-pago
Parametros
Parametro | Tipo | Descripción |
---|---|---|
tipo_producto | int | Siempre debe de ser 2. |
expand | string | “configuracion_out” |
id_producto | int | Identificador que asocia los medios de pago de la cuenta de ahorro, valor que se obtiene del servicio Cuentas de ahorro del cliente, valor del nodo, id_producto_ahorro_empresa. |
Crear Cuentas de Cobranza Referenciada
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/emparejamiento
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/emparejamiento",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"id_cuenta_ahorro": "123",
"cuenta_hija": "true",
"nombre_cobranza": "ejemplo"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/emparejamiento',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'id_cuenta_ahorro=123&cuenta_hija=true&nombre_cobranza=ejemplo',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'id_cuenta_ahorro=123&cuenta_hija=true&nombre_cobranza=ejemplo'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/emparejamiento", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"message": "Solicitud de emparejamiento en proceso, Intente más tarde por favor"
}
Servicio permite crear cuentas de cobranza referenciada a la cuenta principal.
Http Request
POST /1.0.0/v2/<id_cuenta_ahorro>/cuenta-ahorro-cliente
Parametros
Parametros | Tipo | Descripción |
---|---|---|
id_cuenta_ahorro | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. |
cuenta_hija | int | Indica que será una clabe de cobranza referenciada y se le debe enviar el valor true. |
nombre_cobranza | string | Es el nombre (alias) que tendrá la clabe de cobranza referenciada generada. |
Crear Referencias de Cobro
curl --location 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/referencia-cobro' \
--header 'Authorization: Bearer eyJ4NXQiOiJNell4TW1Ga09HWXdNV0kwW...' \
--header 'AuthorizationAlquimia: Bearer c6ab40d2c8b5fd6e98b832590fa109a31e4d...' \
--header 'Content-Type: application/x-www-form-urlencoded'\
--data-urlencode 'id_medio_pago=18' \
--data-urlencode 'nombre_cobranza=demo' \
--data-urlencode 'importe=10.00' \
--data-urlencode 'vigencia=2023-03-24' \
--data-urlencode 'type=1'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/referencia-cobro",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer irGEmKJc91dP93Eg1Wnh5wj4557RXq6uQ...",
"AuthorizationAlquimia": "Bearer c6ab40d2c8b5fd6e98b832590fa...",
"Content-Type": "application/x-www-form-urlencoded",
},
"data": {
"id_medio_pago": "18",
"nombre_cobranza": "demo",
"importe": "10.00",
"vigencia": "2023-03-24",
"type": "1"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/apialquimiapay/1.0.0/v2/cuenta-ahorro-cliente/%3Cid_cuenta_ahorro%3E/referencia-cobro',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'id_medio_pago=18&nombre_cobranza=demo&importe=10.00&vigencia=2023-03-24&type=1',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer c91dP93Eg1Wnh5wj4557RXq6uQ...',
'AuthorizationAlquimia: Bearer c6ab40d2c8b5fd6e98b832590fa109a...',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'id_medio_pago=18&nombre_cobranza=demo&importe=10.00&vigencia=2023-03-24&type=1'
headers = {
'Authorization': 'Bearer c91dP93Eg1Wnh5wj4557RXq6uQ...',
'AuthorizationAlquimia': 'Bearer c6ab40d2c8b5fd6e98b832590fa109a31e4d...',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/apialquimiapay/1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/referencia-cobro", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"message": "RESPUESTA PENDIENTE DE COLOCAR POR PARTE DE ALQUIMIA PAY"
}
Servicio permite crear cuentas de cobranza referenciada a la cuenta principal.
Http Request
POST /1.0.0/v2/cuenta-ahorro-cliente/<id_cuenta_ahorro>/referencia-cobro
Parametros
Parametros | Tipo | Descripción |
---|---|---|
id_medio_pago | int | 18= Clabe Kushki 19= URL Kushki |
nombre_cobranza | string | Es el nombre (alias) que tendrá la cobranza referenciada generada. |
importe | decimal | Importe a recibir con dos decimales ejemplo 10.00 |
vigencia | date | vigencia de la referencia formato: yyyy-mm-dd |
type | int | 1 = Referencia Unica 2 = Referencia Recurrente |
Listar CLABEs de Cobranza Referenciada
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-medio-pago?id_cuenta_ahorro=<id_cuenta_ahorro>'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-medio-pago?id_cuenta_ahorro=123",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-medio-pago?id_cuenta_ahorro=123',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-medio-pago?id_cuenta_ahorro=123", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id": 12345,
"no_cuenta_medio_pago": "659803000000000035",
"cuenta_eje": "0000000839-CD-0000000839-0000044646",
"nombre_cobranza": "",
"folio_interno": null,
"fecha_alta": "2022-04-07 17:50:59",
"cta_medio_pago": {
"id": "12345",
"activo": "0",
"observacion": null
},
"_links": {
"self": {
"href": "http://vitae.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago/61341"
},
"cuenta-ahorro-medio-pago_collection": {
"href": "http://vitae.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago"
},
"curies": [
{
"href": "http://vitae.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago/61341?expand={rel}",
"name": "expand",
"title": "Embeddable related resources."
}
],
"expand:cuenta-ahorro": {
"href": "cuenta-ahorro"
},
"expand:medios-pago-cobranza": {
"href": "medios-pago-cobranza"
}
}
}
Servicio que devuelve el listado de las CLABEs de cobranza referenciada.
Http Request
GET /1.0.0/v2/cuenta-ahorro-medio-pago
Parametros
a Parametros | Tipo | Descripción --------- | ------- | ----------- id_cuenta_ahorro | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente. page | int | valor para paginar los resultados registros | int | número de elementos mostrar en la consulta, si no se especifica traerá 20 registros por default. sort | string | valor en forma ascendente o descendente, en donde se agrega “-” para traer los registros más recientes o alfabéticamente en caso de NO ir traerá desde el elemento más viejo.
Listar Cuentas Hijas
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=<id_cuenta_ahorro_padre>&page=2®istros=5&sort=-fecha_alta'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=xxxx&page=2®istros=5&sort=-fecha_alta",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=xxxx&page=2®istros=5&sort=-fecha_alta',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0v2/cuenta-ahorro-cliente?id_cuenta_ahorro_padre=xxxx&page=2®istros=5&sort=-fecha_alta", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
[{
"id":301,
"id_cuenta_ahorro":123,
"id_medio_pago":4,
"numero_referencia":null,
"estatus":null,
"fecha_alta":"2022-02-10 11:44:21",
"fecha_actualizacion":"2022-02-10 11:44:21",
"tipo_comision":1,
"valor_comision":"0.00",
"numero_maximo_transacciones":127,
"monto_maximo_transacciones":"100000.00",
"tipo_reseteo":1,"horas_reseteo":null,
"hora_inicio":"00:00",
"hora_fin":"23:59",
"calendario_transaccion":"1,2,3,4,5,6,0",
"no_cuenta_medio_pago":"659803000000268539",
"cuenta_eje":"0000000133-CD-0000000133-0000026784",
"tipo_cash":1,
"saldo_basado_medio_pago":1,
"activo":0,
"cuenta_hija":0,
"nombre_cobranza":"",
"_links":{
"self":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago/301"
},
"cuenta-ahorro-medio-pago_collection":{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago"
},
"curies":[{
"href":"http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-medio-pago/301?expand={rel}",
"name":"expand",
"title":"Embeddable related resources."
}],
"expand:cuenta-ahorro":{
"href":"cuenta-ahorro"
}
}
}]
Servicio que devuelve el listado de las cuentas hijas dada una cuenta madre.
Http Request
GET /1.0.0/v2/cuenta-ahorro-cliente
Parametros
Parametros | Tipo | Descripción |
---|---|---|
id_cuenta_ahorro_padre | int | Identificador de la cuenta madre. |
sort | string | valor en forma ascendente o descendente, en donde se agrega “-” para traer los registros más recientes o alfabéticamente en caso de NO ir traerá desde el elemento más viejo. |
page | int | valor para paginar los resultados |
registros | int | número de elementos mostrar en la consulta, si no se especifica traerá 20 registros por default. |
Consulta de Estatus de TX
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/consulta-estatus-tx'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/consulta-estatus-tx?id_transaccion=3142&id_cuenta=123",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Cookie": "PHPSESSID=rbmp0b6t7afimhlktr7t87v5qp; _csrf=96ddf3b60fc9ec072fcfeaa0b1dba279aafbc33b7803745d38eb461c24a7e97aa%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22CFbCltaQdEqbRJpxAhkHNH6WAOnpZDyD%22%3B%7D"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/consulta-estatus-tx?id_transaccion=3142&id_cuenta=123',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Cookie: PHPSESSID=rbmp0b6t7afimhlktr7t87v5qp; _csrf=96ddf3b60fc9ec072fcfeaa0b1dba279aafbc33b7803745d38eb461c24a7e97aa%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22CFbCltaQdEqbRJpxAhkHNH6WAOnpZDyD%22%3B%7D'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/consulta-estatus-tx?id_transaccion=3142&id_cuenta=123", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id_transaccion": "3142",
"estatus": "LIQUIDADA",
"detalle_proveedor":{
"error": false,
"message": "Transacción sembrada exitosamente en proveedor"
}
}
Http Request
GET /1.0.0/v2/consulta-estatus-tx
Parametros
Parametros | Tipo | Descripción |
---|---|---|
id_transaccion | number | REQUERIDO - Para determinar el estatus de una transacción |
id_cuenta | number | REQUERIDO - Número de cuenta de la transacción |
Consulta Saldo de Tarjeta
curl -X GET \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/saldo-tarjeta-visa/4116xxxxxxxxxxxx'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/saldo-tarjeta-visa/4116080130118909",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Cookie": "PHPSESSID=95k7akkrtccoq8ogoc11l95qgd; _csrf=c871a2fa6bd1156528a139017c8d5c17ca5fec63004679af9beb12211b1888c5a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22e7MsaJGCS-2uKH9s7j9usaaRvY716czS%22%3B%7D"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/saldo-tarjeta-visa/4116080130118909',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Cookie: PHPSESSID=95k7akkrtccoq8ogoc11l95qgd; _csrf=c871a2fa6bd1156528a139017c8d5c17ca5fec63004679af9beb12211b1888c5a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22e7MsaJGCS-2uKH9s7j9usaaRvY716czS%22%3B%7D'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/saldo-tarjeta-visa/4116080130118909", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"error": false,
"message": "Consulta Exitosa",
"no_tarjeta": "4116XXXXXXXXXXXX",
"saldo": "0.55"
}
Http Request
GET /1.0.0/v2/saldo-tarjeta-visa
Parametros
Parametros | Tipo | Descripción |
---|---|---|
numero de tarjeta | number | REQUERIDO - Para consultar el saldo de la tarjeta, sustituir las X por los números de la tarjeta. |
Webhooks
La siguiente estructura representa cómo Alquimia enviará las notificaciones a sus clientes cuando expongan una URL donde se dará aviso de abonos o sobre liquidaciones de spei out.
Notificación de Transacciones
Respuesta:
{
"id": "6621",
"no_cuenta_eje": "1000000000000001",
"tipo": 2,
"medioPago": "SPEI STP - Alquimia PAY",
"fechaOperacion": "2022-02-28 17:06:15",
"institucionOrdenante": "90646",
"nombreOrdenante": "ALQUIMIA",
"tipoCuentaOrdenante": "1",
"cuentaOrdenante": "100000000000000001",
"rfcCurpOrdenante": "ND",
"claveRastreo": "DEMWEBHOOKS00000000000004",
"monto": "10.00",
"nombreBeneficiario": "DESARROLLO SA",
"cuentaBeneficiario": "100000000000000001",
"rfcCurpBeneficiario": "",
"concepto": "Prueba SPEI-IN abono1"
}
Parametros
Parametro | Tipo | Descripción |
---|---|---|
id | string | Identificador de la transacción. |
no_cuenta_eje | string | Número de Cuenta Eje asignado por la Banca. |
tipo | int | Indica el tipo de transacción, donde 1 = CARGO y 2 = ABONO. |
medioPago | string | Indica el nombre del Medio de Pago de la transacción. |
fechaOperacion | date | Indica la fecha en la que se realiza la transacción. |
institucionOrdenante | string | Indica el código de la institución bancaria ó el nombre de la institución que realizó la transacción, en caso de ser 0 (cero), el dato no aplica. |
nombreOrdenante | string | Indica el nombre de quien realizó la transacción. |
tipoCuentaOrdenante | int | Indica el tipo de cuenta, donde 40 = Clabe Interbancaria, 3 = # Tarjeta y 0 = No Aplica. |
cuentaOrdenante | int | Indica el número de cuenta del responsable que detona-ordena la transacción. |
rfcCurpOrdenante | string | Indica el RFC o CURP del responsable que detona-ordena la transacción. |
claveRastreo | string | Clave de Rastreo asociada a la transacción. |
monto | decimal | Indica el monto (valor monetario) de la transacción. |
nombreBeneficiario | string | Indica el nombre del beneficiario, es decir, quien recibe la transacción. |
cuentaBeneficiario | string | ndica el número de cuenta del beneficiario, es decir, quien recibe la transacción. |
rfcCurpBeneficiario | string | Indica el RFC o CURP del beneficiario, es decir, quien recibe la transacción. |
concepto | string | Indica el concepto de la transacción establecida por el Ordenante. |
Bloqueo de tarjeta
curl -X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/bancaalquimiapay/1.0.0/v2/operaciones-tarjeta
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/operaciones-tarjeta",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"id_cliente": "123",
"id_cuenta_ahorro": "1234",
"no_tarjeta": "1234567890123456",
"operacion": "1",
"api_key": "xxxxxxxAPIKEYxxxxxxxx"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/operaciones-tarjeta',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'id_cliente=123&id_cuenta_ahorro=1234&no_tarjeta=1234567890123456&operacion=1&api_key=xxxxxxxAPIKEYxxxxxxxx',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'id_cliente=123&id_cuenta_ahorro=1234&no_tarjeta=1234567890123456&operacion=1&api_key=xxxxxxxAPIKEYxxxxxxxx'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/operaciones-tarjeta", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
}
Servicio permite bloqueo de tarjetas de Visa - Alquimia
Http Request
POST /1.0.0/v2/operaciones-tarjeta
Parametros
Parametros | Tipo | Descripción |
---|---|---|
id_cliente | int | Identificador del usuario, se obtiene del servicio Perfil del usuario |
id_cuenta_ahorro | int | Identificador que se obtiene del servicio de Cuentas de ahorro del cliente |
no_tarjeta | string | No. de la tarjeta a bloquear |
operacion | int | Siempre será 1 para el bloqueo |
api_key | string | API Key generada para la cuenta de ahorro. |
API Key/Webhook
Creacion
curl -X POST\
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"ips": "192.168.100.200",
"url_notificacion": "192.168.0.40",
"medios_pago": "5",
"api_key": "xxxxxxxxxxxxxxxApiKeyxxxxxxxxxxxxx"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'ips=192.168.100.200&url_notificacion=192.168.0.40&medios_pago=5&api_key=xxxxxxxxxxxxxxxApiKeyxxxxxxxxxxxxx',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'ips=192.168.100.200&url_notificacion=192.168.0.40&medios_pago=5&api_key=xxxxxxxxxxxxxxxApiKeyxxxxxxxxxxxxx'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id_cuenta_ahorro": "123",
"api_key": "xxxxxxxxxxxxxxxApiKeyxxxxxxxxxxxxx",
"ips": "192.168.100.200",
"url_notificacion": "192.168.0.40",
"medios_pago": "5",
"estatus": 1,
"usuario_alta": 12345,
"usuario_actualizacion": 12345,
"fecha_alta":{
"expression": "NOW()",
"params":[]
},
"fecha_actualizacion":{
"expression": "NOW()",
"params":[]
},
"id": 37,
"_links":{
"self":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico/37"
},
"otp-dinamico_collection":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico"
},
"cuenta-ahorro-cliente_collection":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente"
},
"cuentaAhorro_record":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123"
},
"curies":[{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico/37?expand={rel}",
"name": "expand",
"title": "Embeddable related resources."
}],
"expand:cuentaAhorro":{
"href": "cuentaAhorro"
},
"expand:usuarioAlta":{
"href": "usuarioAlta"
},
"cuentaAhorro":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123"
},
"usuarioAlta":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cliente/12345"
}
}
}
Https Request
POST /1.0.0/v2/<id_cuenta>/cuenta-ahorro
Parametros
Parametro | Tipo | Descripción |
---|---|---|
ips | string | REQUERIDO - IP´s versión 4, en caso de necesitar más de una IP, se agrega una coma (,) entre cada IP, Ejemplo: 192.1.1.1, 198.5.11 |
codigo_seguridad | string | OPCIONAL en caso de no usar api_key - Código generado por el cliente. |
soft_token | string | OPCIONAL en caso de no usar api_key - Código generado en aplicativo AQPayToken. |
api_key | string | API Key generada para la cuenta de ahorro. |
url_notificacion | string | OPCIONAL - Puede ser SOLO UNA IPv4 o URL. |
medio_pago | string | OPCIONAL - Es requerido en el momento de que se agrega el nodo url_notificacion. Se puede mandar más de un medio de pago, separado por coma, ejemplo: 1, 5, 8 |
Listado
curl -X GET\
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico?estatus=1'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico?estatus=1",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUIMIA>"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico?estatus=1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = ''
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>'
}
conn.request("GET", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico?estatus=1", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
[
{
"id": 37,
"id_cuenta_ahorro": 123,
"api_key": "xxxxxxxxxxxxxxxApiKeyxxxxxxxxxxxxx",
"estatus": 1,
"ips": "192.168.100.200",
"url_notificacion": "192.168.0.40",
"medios_pago": "5",
"timestamp": "2022-04-08 12:23:29",
"usuario_alta": 12345,
"fecha_alta": "2022-04-08 12:23:29",
"usuario_actualizacion": 12345,
"fecha_actualizacion": "2022-04-08 12:23:29",
"_links":{"self":{"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico/37"…}}
}
]
Https Request
GET /1.0.0/v2/<id_otp>/cuenta-ahorro
Parametros
Parametro | Tipo | Descripción |
---|---|---|
estatus | int | REQUERIDO - Siempre debe ser 1. |
Edición
curl -X POST\
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>' \
-H 'Content-Type: x-www-form-urlencoded' \
'<URL>/<contexto>/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico/<id_otp>'
var settings = {
"url": "https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Bearer <ACCESS_TOKEN>",
"AuthorizationAlquimia": "Bearer <ACCESS_TOKEN_ALQUMIA>",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"codigo_seguridad": "123456",
"soft_token": "123456",
"api_key": "xxxxxxxapi_keyxxxxxxxx",
"url_notificacion": "https://ejemplo.com",
"id_otp": "37",
"actualizar": "1"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://wso2.alquimiapay.com/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/<id_cuenta>/otp-dinamico',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'api_key=123456&url_notificacion=https%3A%2F%2Fejemplo.com&id_otp=37&actualizar=1',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia: Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("wso2.alquimiapay.com")
payload = 'api_key=123456&url_notificacion=https%3A%2F%2Fejemplo.com&id_otp=37&actualizar=1'
headers = {
'Authorization': 'Bearer <ACCESS_TOKEN>',
'AuthorizationAlquimia': 'Bearer <ACCESS_TOKEN_ALQUIMIA>',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("PATCH", "/sanboxalquimiapay/1.0.0/v2/cuenta-ahorro/123/otp-dinamico/37", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Respuesta:
{
"id": 37,
"id_cuenta_ahorro": 123,
"api_key": "xxxxxxxxxApiKeyxxxxxxxxx",
"estatus": 1,
"ips": "187.190.4.61",
"url_notificacion": "https://ejemplo.com",
"medios_pago": "3,4",
"timestamp": "2022-04-08 12:23:29",
"usuario_alta": 12345,
"fecha_alta": "2022-04-08 12:23:29",
"usuario_actualizacion": 12345,
"fecha_actualizacion":{
"expression": "NOW()",
"params":[]
},
"_links":{
"self":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico/37"
},
"otp-dinamico_collection":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico"
},
"cuenta-ahorro-cliente_collection":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente"
},
"cuentaAhorro_record":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123"
},
"curies":[{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123/otp-dinamico/37?expand={rel}",
"name": "expand",
"title": "Embeddable related resources."
}],
"expand:cuentaAhorro":{
"href": "cuentaAhorro"
},
"expand:usuarioAlta":{
"href": "usuarioAlta"
},
"cuentaAhorro":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cuenta-ahorro-cliente/123"
},
"usuarioAlta":{
"href": "http://demomatic.alquimiadigital.mx/cpanel/index.php/api/v2/cliente/12345"
}
}
}
Https Request
POST /1.0.0/v2/<id_cuenta>/cuenta-ahorro
Parametros
Parametro | Tipo | Descripción |
---|---|---|
codigo_seguridad | string | OPCIONAL, en caso de usar api_key - Código generado por el cliente. |
soft_token | string | OPCIONAL, en caso de usar api_key - Código generado en aplicativo AQPayToken. |
Api_key | string | api key generado para la cuenta. |
url_notificacion | string | OPCIONAL - Puede ser SOLO UNA IPv4 o URL. |
id_otp | int | REQUERIDO - ID del OTP. |
actualizar | int | REQUERIDO - Siempre debe ser 1 cuando se requiera actualizar. |
Errors
The Kittn API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- The kitten requested is hidden for administrators only. |
404 | Not Found -- The specified kitten could not be found. |
405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
410 | Gone -- The kitten requested has been removed from our servers. |
418 | I'm a teapot. |
429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |