API
Crear pago
Este método de API permite inicializar un nuevo pago para realizar un pago a través del servicio de pagos Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| external_number | string | Número único de transacción u orden. |
| amount | number | Importe del pago o de la transacción. |
| currency_code | string | Código de moneda del pago (por ejemplo, USD para dólar, EUR para euro, USDT para Tether). |
| merchant_id | string | Identificador de su comerciante agregado (Merchant ID). |
| description | string | Descripción del pago o de la transacción. |
| deadline_seconds | number | Establece el intervalo de tiempo para pagar el pago en segundos (por ejemplo, 600 corresponde a un plazo de pago de 10 minutos). El valor máximo es 86400 segundos (1 día). |
| return_url | string | Dirección URL a la que se debe devolver al cliente después de completar correctamente el pago. |
| cancel_url | string | Dirección URL a la que se debe devolver al cliente en caso de cancelación del pago. |
| handling_fee | number | Comisión adicional del pago. |
| payer_email | string | Correo electrónico del cliente asociado con la transacción de pago. |
| payment_method | string | Método de pago utilizado para esta transacción. Métodos disponibles: «PAY2_HOUSE», «USDT_TRC20», «CARDS». Por defecto «ALL», lo que significa que el cliente puede elegir el método de pago por sí mismo. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| invoice_number | string | Número único de factura que identifica la transacción de pago en el sistema. |
| approval_url | string | Enlace URL al que se debe redirigir al cliente para completar el pago. |
<?php
function create_payment($request_body = [])
{
$curl = curl_init('https://pay2.house/api/create_payment');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'external_number' => '10001',
'amount' => 1000,
'currency_code' => 'USD',
'payment_method' => 'ALL',
'merchant_id' => 'SN6829106944',
'description' => 'Payment for Merchant.Name',
'deadline_seconds' => 600,
'handling_fee' => 10,
'payer_email' => '[email protected]',
'return_url' => 'https://mysite.com/result',
'cancel_url' => 'https://mysite.com/cancel',
]);
$api_response = create_payment(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['approval_url'])) {
header('Location: ' . $api_response['approval_url'], TRUE, 302);
}
?>
Información del pago
Este método de API permite solicitar información sobre su pago en el sistema de pagos Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| merchant_id | string | Identificador de su comerciante agregado (Merchant ID). |
| invoice_number | string | Su número de factura. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| invoice_number | string | Número único de factura que identifica la transacción de pago en el sistema. |
| currency_code | string | Código de moneda del pago (por ejemplo, USD para dólar, EUR para euro, USDT para Tether). |
| currency_symbol | string | Símbolo de moneda (por ejemplo, "$" para dólar estadounidense). |
| external_number | string | Número externo asociado con la transacción de pago. |
| description | string | Descripción de la transacción de pago o de la factura. |
| amount | number | Importe del pago en la moneda especificada. |
| handling_fee | number | Importe de la comisión por procesamiento del pago. |
| payment_status | string |
Estado del pago. Pendiente de pago: pending En procesamiento: in_processing Pagado: paid Cancelado: cancelled Vencido: overdue Pagado parcialmente: partially Error de pago: error Reembolso: refunded |
<?php
function show_payment_details($request_body = [])
{
$curl = curl_init('https://pay2.house/api/show_payment_details');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'merchant_id' => 'SN6829106938',
'invoice_number' => 'IN9036982986'
]);
$api_response = show_payment_details(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Amount: ' . $api_response['amount'] . '<br />';
echo 'Fee: ' . $api_response['handling_fee'] . '<br />';
echo 'Currency Code: ' . $api_response['currency_code'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Crear transferencia
Este método de API permite inicializar una nueva transferencia a una cuenta interna en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| sender_account | string | Cuenta del remitente. |
| recipient_account | string | Cuenta del destinatario. |
| amount | number | Importe de la transferencia. |
| comment | string | Comentario de la transferencia. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| transaction_number | string | Número único de transferencia. |
<?php
function transfer_create($request_body = [])
{
$curl = curl_init('https://pay2.house/api/transfers/create');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'sender_account' => 'P2U49984694',
'recipient_account' => 'P2U93380055',
'amount' => 50,
'comment' => 'Transfer of funds to the client\'s account.'
]);
$api_response = transfer_create(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Payment successfully processed.';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Información de la transferencia
Este método de API permite obtener información detallada sobre la transferencia, incluyendo estado, importe, fecha y hora de ejecución, así como otros datos relacionados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| transaction_number | string | Número único de transacción utilizado para identificar una transferencia específica. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| transaction_number | string | Número único de transacción. |
| time_created | number | Hora de creación de la transacción en formato Unix timestamp. |
| date_created | string | Fecha de creación de la transacción en formato YYYY-MM-DD. |
| sender_account | string | Número de cuenta del remitente de los fondos. |
| recipient_account | string | Número de cuenta del destinatario de los fondos. |
| amount | number | Importe transferido en la transacción. |
| fee_amount | number | Importe de la comisión cobrada por la transacción. |
| currency_code | string | Código de moneda de la transacción (por ejemplo, USD para dólar, EUR para euro, USDT para Tether). |
| payment_method | string |
Método de pago utilizado para esta transacción. Pay2.House: house_money Push.House: push_house Cloaking.House: cloaking_house Capitalist.Net: capitalist Virtual Card Pay: virtual_card Visa Card Pay: visa Tether USDT: tether SWIFT: swift |
| confirm_method | string |
Método de confirmación de la transacción. Confirmación por SMS: verification_phone Google Authenticator: verification_code Confirmación mediante API: verification_api Sin confirmación: none |
| payment_type | string |
Tipo de pago. Transferencia interna: transfer Recarga de cuenta: refill Cambio de moneda: exchange Emisión de factura: invoice Merchant API: merchant |
| transaction_type | string | Tipo de transacción (incoming - abono, withdrawal - débito). |
| transaction_status | string |
Estado de la transacción. En procesamiento: in_processing Confirmado: confirmed Error: error |
| comment | string | Información adicional sobre la transacción. |
| error_message | string | Mensaje de error si la transacción falló. |
<?php
function transfer_details($request_body = [])
{
$curl = curl_init('https://pay2.house/api/transfers/details');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'transaction_number' => 'TN4395601712'
]);
$api_response = transfer_details(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Transaction Number: ' . $api_response['transaction_number'] . '<br />';
echo 'Status: ' . $api_response['transaction_status'] . '<br />';
echo 'Time Created: ' . $api_response['time_created'] . '<br />';
echo 'Date Created: ' . $api_response['date_created'] . '<br />';
echo 'Sender Account: ' . $api_response['sender_account'] . '<br />';
echo 'Recipient Account: ' . $api_response['recipient_account'] . '<br />';
echo 'Amount: ' . $api_response['amount'] . '<br />';
echo 'Fee Amount: ' . $api_response['fee_amount'] . '<br />';
echo 'Currency Code: ' . $api_response['currency_code'] . '<br />';
echo 'Payment Method: ' . $api_response['payment_method'] . '<br />';
echo 'Confirm Method: ' . $api_response['confirm_method'] . '<br />';
echo 'Payment Type: ' . $api_response['payment_type'] . '<br />';
echo 'Transaction Type: ' . $api_response['transaction_type'] . '<br />';
echo 'Comment: ' . $api_response['comment'] . '<br />';
echo 'Error Message: ' . $api_response['error_message'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Historial de transferencias
Este método de API permite solicitar una lista de transacciones, proporcionando información sobre todas las transferencias realizadas.
| Parámetro | Tipo | Descripción |
|---|---|---|
| per_page | number | Cantidad de registros que se mostrarán en una página. |
| page | number | Número de página para la paginación. |
| transaction_type | string | Filtro por tipo de transacción (incoming - abono, withdrawal - débito). |
| status | string |
Filtro por estado de la transacción. En procesamiento: in_processing Confirmado: confirmed Error: error |
| date_range | string | Filtro para selección por rango de fechas (en formato DD.MM.YYYY - DD.MM.YYYY), también utilizado para filtrar. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| count | number | Cantidad total de transacciones que coinciden con la solicitud. |
| transactions | array |
Array de objetos de transacción que contiene información sobre cada transacción (por ejemplo, identificador, estado, saldo, etc.). Vea la descripción de todos los campos en la sección información de la transferencia. |
<?php
function get_transfers($request_body = [])
{
$curl = curl_init('https://pay2.house/api/transfers');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'per_page' => 10,
'page' => 1,
'status' => 'confirmed'
]);
$api_response = get_transfers(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Count Transactions: ' . $api_response['count'] . '<br />';
if ( ! empty($api_response['transactions'])) {
foreach($api_response['transactions'] AS $item) {
echo '----------------------------------------';
echo 'Transaction Number: ' . $item['transaction_number'] . '<br />';
echo 'Status: ' . $item['transaction_status'] . '<br />';
echo 'Time Created: ' . $item['time_created'] . '<br />';
echo 'Date Created: ' . $item['date_created'] . '<br />';
echo 'Sender Account: ' . $item['sender_account'] . '<br />';
echo 'Recipient Account: ' . $item['recipient_account'] . '<br />';
echo 'Amount: ' . $item['amount'] . '<br />';
echo 'Fee Amount: ' . $item['fee_amount'] . '<br />';
echo 'Currency Code: ' . $item['currency_code'] . '<br />';
echo 'Payment Method: ' . $item['payment_method'] . '<br />';
echo 'Confirm Method: ' . $item['confirm_method'] . '<br />';
echo 'Payment Type: ' . $item['payment_type'] . '<br />';
echo 'Transaction Type: ' . $item['transaction_type'] . '<br />';
echo 'Comment: ' . $item['comment'] . '<br />';
echo 'Error Message: ' . $item['error_message'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Transactions Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Obtener lista de cuentas
Este método de API permite solicitar una lista de todas las cuentas asociadas con su cuenta en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| delete_flag | number | Indicador de eliminación de la cuenta. El valor 0 indica una cuenta activa, y el valor 1 indica una cuenta eliminada o bloqueada. |
| currency_code | string | Código de moneda para filtrar cuentas (por ejemplo, "USD" para dólar, "EUR" para euro, "USDT" para Tether). |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| count | number | Cantidad total de cuentas que coinciden con la solicitud. |
| wallets | array |
Array de objetos de cuenta que contiene información sobre cada cuenta (por ejemplo, identificador, estado, saldo, etc.). Vea la descripción de todos los campos en la sección información de la cuenta. |
<?php
function get_wallets($request_body = [])
{
$curl = curl_init('https://pay2.house/api/wallets');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'delete_flag' => 0,
'currency_code' => 'USD'
]);
$api_response = get_wallets(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Count Wallets: ' . $api_response['count'] . '<br />';
if ( ! empty($api_response['wallets'])) {
foreach($api_response['wallets'] AS $item) {
echo '----------------------------------------';
echo 'Account Number: ' . $item['account_number'] . '<br />';
echo 'Name: ' . $item['name'] . '<br />';
echo 'Time Created: ' . $item['time_created'] . '<br />';
echo 'Date Created: ' . $item['date_created'] . '<br />';
echo 'Balance: ' . $item['balance'] . '<br />';
echo 'Bonus: ' . $item['bonus'] . '<br />';
echo 'Currency Code: ' . $item['currency_code'] . '<br />';
echo 'Currency Symbol: ' . $item['currency_symbol'] . '<br />';
echo 'Address TRC20: ' . $item['trc20_address'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Wallets Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Crear cuenta
Este método de API permite crear cuentas únicas que pueden utilizarse para realizar pagos y transacciones dentro del sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| name | string | Nombre de la cuenta. |
| currency_code | string | Código de moneda del pago (por ejemplo, USD para dólar, EUR para euro, USDT para Tether). |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| account_number | string | Número de la cuenta creada. |
<?php
function wallet_create($request_body = [])
{
$curl = curl_init('https://pay2.house/api/wallets/create');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'name' => 'Your Wallet Name',
'currency_code' => 'USD'
]);
$api_response = wallet_create(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Wallet created successfully.';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Información de la cuenta
Este método de API permite solicitar información sobre su cuenta en el sistema de pagos Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| account_number | string | Su número de cuenta. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| time_created | number | Hora de creación de la cuenta en formato Unix timestamp. |
| date_created | string | Fecha de creación de la cuenta en formato YYYY-MM-DD. |
| delete_flag | number | Indicador de eliminación (0 — no eliminada, 1 — eliminada). |
| account_number | string | Número de cuenta. |
| currency_code | string | Código de moneda de la cuenta (por ejemplo, USD para dólar, EUR para euro, USDT para Tether). |
| currency_symbol | string | Símbolo de moneda (por ejemplo, "$" para dólar estadounidense). |
| name | string | Nombre de la cuenta. |
| balance | number | Saldo actual de la cuenta. |
| bonus | number | Importe de fondos de bonificación disponibles en la cuenta, si corresponde. |
| trc20_address | string | Dirección TRC-20 para tokens, si corresponde. |
<?php
function wallet_details($request_body = [])
{
$curl = curl_init('https://pay2.house/api/wallets/details');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'account_number' => 'P2U49984694'
]);
$api_response = wallet_details(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Account Number: ' . $api_response['account_number'] . '<br />';
echo 'Name: ' . $api_response['name'] . '<br />';
echo 'Time Created: ' . $api_response['time_created'] . '<br />';
echo 'Date Created: ' . $api_response['date_created'] . '<br />';
echo 'Balance: ' . $api_response['balance'] . '<br />';
echo 'Bonus: ' . $api_response['bonus'] . '<br />';
echo 'Currency Code: ' . $api_response['currency_code'] . '<br />';
echo 'Currency Symbol: ' . $api_response['currency_symbol'] . '<br />';
echo 'Address TRC20: ' . $api_response['trc20_address'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Obtener extracto de cuenta
Este método de API permite obtener un extracto detallado de la cuenta seleccionada, incluyendo información sobre todas las transacciones y cambios de saldo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| account_number | string | Su número de cuenta. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| download_url | string | URL para descargar el archivo del extracto de cuenta en formato CSV. |
<?php
function wallet_statement($request_body = [])
{
$curl = curl_init('https://pay2.house/api/wallets/statement');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'account_number' => 'P2U49984694'
]);
$api_response = wallet_statement(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
header('Location: ' . $api_response['download_url'], TRUE, 302);
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Obtener lista de BIN
Este método de API permite obtener una lista de BIN disponibles para emitir tarjetas virtuales en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| currency_code | string | Código de moneda del BIN (por ejemplo, USD, EUR). |
| country_code | string | Código de país del BIN en formato ISO 3166-1 alpha-2 (por ejemplo, US, HK). |
| card_type | string |
Tipo de tarjeta. Virtual: virtual Física: physical |
| card_network | string |
Sistema de pago. Visa: visa MasterCard: mastercard |
| card_product_type | string |
Tipo de producto de tarjeta. Personal: personal Estándar: standard |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| count | number | Cantidad total de BIN que coinciden con la solicitud. |
| bins | array | Array de objetos BIN que contiene información sobre cada BIN. |
| bin | string | Número de identificación bancaria. |
| currency_code | string | Código de moneda del BIN (por ejemplo, USD, EUR). |
| country_code | string | Código de país del BIN en formato ISO 3166-1 alpha-2 (por ejemplo, US, HK). |
| card_type | string | Sistema de pago (por ejemplo, visa, mastercard). |
| card_product_type | string | Tipo de producto de tarjeta (por ejemplo, standard, personal). |
| card_tier | string | Nivel de tarjeta (por ejemplo, premium, shared). |
| verification_required | number | Si se requiere verificación (1 — sí, 0 — no). |
<?php
function cards_bins($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/bins');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'currency_code' => 'USD',
'country_code' => 'HK',
'card_type' => 'virtual',
'card_network' => 'mastercard',
'card_product_type' => 'standard',
]);
$api_response = cards_bins(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Count Bins: ' . $api_response['count'] . '<br />';
if ( ! empty($api_response['bins'])) {
foreach($api_response['bins'] AS $item) {
echo 'BIN: ' . $item['bin'] . '<br />';
echo 'Currency Code: ' . $item['currency_code'] . '<br />';
echo 'Country Code: ' . $item['country_code'] . '<br />';
echo 'Card Type: ' . $item['card_type'] . '<br />';
echo 'Card Network: ' . $item['card_network'] . '<br />';
echo 'Card Product Type: ' . $item['card_product_type'] . '<br />';
echo 'Card Tier: ' . $item['card_tier'] . '<br />';
echo '3DS Support: ' . $item['is_3ds_supported'] . '<br />';
echo 'Verification Required: ' . $item['verification_required'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Bins Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Obtener lista de tarjetas
Este método de API permite solicitar una lista de tarjetas virtuales emitidas para su cuenta en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| per_page | number | Cantidad de registros que se mostrarán en una página. |
| page | number | Número de página para la paginación. |
| status | string |
Filtro por estado de las tarjetas. Activa: active Bloqueada: blocked Cerrada: closed Pendiente de emisión: awaiting |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| count | number | Cantidad total de tarjetas que coinciden con la solicitud. |
| cards | array |
Array de objetos de tarjeta que contiene información sobre cada tarjeta (por ejemplo, identificador, estado, saldo, etc.). Vea la descripción de todos los campos en la sección información de la tarjeta. |
<?php
function get_cards($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'per_page' => 10,
'page' => 1,
'status' => 'active'
]);
$api_response = get_cards(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Count Cards: ' . $api_response['count'] . '<br />';
if ( ! empty($api_response['cards'])) {
foreach($api_response['cards'] AS $item) {
echo '----------------------------------------';
echo 'Card Name: ' . $item['card_name'] . '<br />';
echo 'Card Number: ' . $item['card_number'] . '<br />';
echo 'Card ID: ' . $item['card_id'] . '<br />';
echo 'CVV: ' . $item['cvv'] . '<br />';
echo 'Expire Date: ' . $item['expiration_date'] . '<br />';
echo '3DS Password: ' . $item['password'] . '<br />';
echo 'Currency Code: ' . $item['currency_code'] . '<br />';
echo 'Currency Symbol: ' . $item['currency_symbol'] . '<br />';
echo 'Time Created: ' . $item['time_created'] . '<br />';
echo 'Date Created: ' . $item['date_created'] . '<br />';
echo 'Time Renewal: ' . $item['time_renewal'] . '<br />';
echo 'Date Renewal: ' . $item['date_renewal'] . '<br />';
echo 'Email: ' . $item['email'] . '<br />';
echo 'Phone Number: ' . $item['phone_number'] . '<br />';
echo 'Address Line 1: ' . $item['address_line_1'] . '<br />';
echo 'City: ' . $item['city'] . '<br />';
echo 'Country Code: ' . $item['country_code'] . '<br />';
echo 'Post Code: ' . $item['post_code'] . '<br />';
echo 'First Name: ' . $item['first_name'] . '<br />';
echo 'Last Name: ' . $item['last_name'] . '<br />';
echo 'Sur Name: ' . $item['sur_name'] . '<br />';
echo 'Date Birth: ' . $item['date_birth'] . '<br />';
echo 'Card Status: ' . $item['card_status'] . '<br />';
echo 'Balance: ' . $item['balance'] . '<br />';
echo 'Issuance Cost: ' . $item['issuance_cost'] . '<br />';
echo 'Renewal Cost: ' . $item['renewal_cost'] . '<br />';
echo 'Recharge Cost: ' . $item['recharge_cost'] . '<br />';
echo 'Recharge Type: ' . $item['recharge_type'] . '<br />';
echo 'Account Refund Cost: ' . $item['account_refund_cost'] . '<br />';
echo 'Account Refund Type: ' . $item['account_refund_type'] . '<br />';
echo 'Refund Min Amount: ' . $item['refund_min_amount'] . '<br />';
echo 'Min Recharge Amount: ' . $item['min_recharge_amount'] . '<br />';
echo 'Max Recharge Amount: ' . $item['max_recharge_amount'] . '<br />';
echo 'Block Status: ' . $item['block_status'] . '<br />';
echo 'Time Blocked: ' . $item['time_blocked'] . '<br />';
echo 'Date Blocked: ' . $item['date_blocked'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Cards Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Emitir tarjeta
Este método de API permite emitir una nueva tarjeta virtual en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| account_number | string | Su número de cuenta desde el cual se cobrará la comisión por emisión de la tarjeta. |
| first_name | string | Nombre del titular de la tarjeta. |
| last_name | string | Apellido del titular de la tarjeta. |
| sur_name | string | Segundo nombre del titular de la tarjeta. |
| date_birth | string | Fecha de nacimiento del titular de la tarjeta en formato DD.MM.YYYY. |
| phone_number | string | Número de teléfono del titular de la tarjeta, incluyendo el código de país. |
| address | string | Dirección de residencia del titular de la tarjeta. |
| city | string | Ciudad de residencia del titular de la tarjeta. |
| region | string | Región o provincia de residencia del titular de la tarjeta. |
| post_code | string | Código postal de la dirección de residencia. |
| string | Correo electrónico del titular de la tarjeta. | |
| country_code | string | Código de país según el estándar ISO 3166-1 alpha-2 (por ejemplo, "US" para Estados Unidos). |
| bin_number | string | Número de identificación bancaria (BIN) de la tarjeta. Debe solicitarse mediante tickets al soporte técnico. |
| renewal_payment_flag | number | Este indicador muestra si se pueden debitar fondos para la renovación de la tarjeta desde la cuenta principal de Pay2.House en caso de fondos insuficientes en la tarjeta (1 - sí, 0 - no). |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| card_number | string | Número de la tarjeta emitida. |
| card_id | string | Identificador único de la tarjeta en el sistema, utilizado para operaciones posteriores. |
<?php
function card_issue($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/issue');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'account_number' => 'P2U48633413',
'first_name' => 'John',
'last_name' => 'Doe',
'sur_name' => 'Smith',
'date_birth' => '01.01.1991',
'phone_number' => '+380990000000',
'address' => 'Kyiv, Ukraine',
'city' => 'Kyiv',
'region' => 'Kyiv',
'country_code' => 'UA',
'post_code' => '01001',
'email' => '[email protected]',
'bin_number' => '1122334455667788',
]);
$api_response = card_issue(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Number: ' . $api_response['card_number'] . '<br />';
echo 'Card ID: ' . $api_response['card_id'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Información de la tarjeta
Este método de API permite obtener información detallada sobre una tarjeta virtual, incluyendo número de tarjeta, estado, fecha de emisión y otros datos relacionados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta en el sistema, utilizado para obtener sus detalles. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| card_name | string | Nombre de la tarjeta indicado al emitirla. |
| card_number | string | Número de la tarjeta emitida. |
| card_id | string | Identificador único de la tarjeta en el sistema. |
| cvv | string | Código de seguridad de la tarjeta necesario para la autorización. |
| expiration_date | string | Fecha de vencimiento de la tarjeta en formato MM/YY. |
| password | string | Contraseña 3DS para seguridad adicional durante transacciones en línea. |
| currency_code | string | Código de moneda utilizado para operaciones con la tarjeta. |
| currency_symbol | string | Símbolo de moneda (por ejemplo: $ o €). |
| time_created | number | Hora de creación de la tarjeta en formato Unix timestamp. |
| date_created | string | Fecha de creación de la tarjeta en formato YYYY-MM-DD. |
| date_renewal | string | Fecha del próximo cobro por renovación de la tarjeta en formato YYYY-MM-DD. |
| time_renewal | number | Hora del próximo cobro por renovación de la tarjeta en formato Unix timestamp. |
| string | Dirección de correo electrónico indicada al emitir la tarjeta. | |
| phone_number | string | Número de teléfono indicado al emitir la tarjeta. |
| address_line_1 | string | Dirección de residencia indicada al emitir la tarjeta. |
| city | string | Ciudad de residencia indicada al emitir la tarjeta. |
| country_code | string | Código de país según el estándar ISO 3166-1 alpha-2 (por ejemplo, "US" para Estados Unidos). |
| first_name | string | Nombre del propietario de la tarjeta. |
| last_name | string | Apellido del propietario de la tarjeta. |
| sur_name | string | Segundo nombre del propietario de la tarjeta. |
| date_birth | string | Fecha de nacimiento del propietario de la tarjeta en formato DD.MM.YYYY. |
| post_code | string | Código postal. |
| card_status | string |
Estado de la tarjeta. Activa: active Bloqueada: blocked Cerrada: closed Pendiente de emisión: awaiting |
| balance | number | Saldo actual de la tarjeta. |
| issuance_cost | number | Costo de emisión de la tarjeta. |
| renewal_cost | number | Costo de renovación de la tarjeta. |
| recharge_cost | number | Comisión por recarga de la tarjeta. |
| recharge_type | string | Tipo de comisión por recarga de la tarjeta (puede ser "fixed" para una comisión fija o "percent" para una comisión porcentual). El valor de la comisión se toma del parámetro recharge_cost. |
| account_refund_cost | number | Comisión por reembolso desde la tarjeta. |
| account_refund_type | string | Tipo de comisión por reembolso desde la tarjeta (puede ser "fixed" para una comisión fija o "percent" para una comisión porcentual). El valor de la comisión se toma del parámetro account_refund_cost. |
| refund_min_amount | number | Importe mínimo de reembolso desde la tarjeta. |
| min_recharge_amount | number | Importe mínimo de recarga de la tarjeta. |
| max_recharge_amount | number | Importe máximo de recarga de la tarjeta. |
| block_status | string |
Estado de bloqueo de la tarjeta. Los valores posibles se pueden encontrar en la sección estados de bloqueo de la tarjeta. |
| date_blocked | string | Fecha de bloqueo de la tarjeta en formato YYYY-MM-DD. |
| time_blocked | number | Hora de bloqueo de la tarjeta en formato Unix timestamp. |
<?php
function card_details($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/details');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264'
]);
$api_response = card_details(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Name: ' . $api_response['card_name'] . '<br />';
echo 'Card Number: ' . $api_response['card_number'] . '<br />';
echo 'Card ID: ' . $api_response['card_id'] . '<br />';
echo 'CVV: ' . $api_response['cvv'] . '<br />';
echo 'Expire Date: ' . $api_response['expiration_date'] . '<br />';
echo '3DS Password: ' . $api_response['password'] . '<br />';
echo 'Currency Code: ' . $api_response['currency_code'] . '<br />';
echo 'Currency Symbol: ' . $api_response['currency_symbol'] . '<br />';
echo 'Time Created: ' . $api_response['time_created'] . '<br />';
echo 'Date Created: ' . $api_response['date_created'] . '<br />';
echo 'Time Renewal: ' . $api_response['time_renewal'] . '<br />';
echo 'Date Renewal: ' . $api_response['date_renewal'] . '<br />';
echo 'Email: ' . $api_response['email'] . '<br />';
echo 'Phone Number: ' . $api_response['phone_number'] . '<br />';
echo 'Address Line 1: ' . $api_response['address_line_1'] . '<br />';
echo 'City: ' . $api_response['city'] . '<br />';
echo 'Country Code: ' . $api_response['country_code'] . '<br />';
echo 'Post Code: ' . $api_response['post_code'] . '<br />';
echo 'First Name: ' . $api_response['first_name'] . '<br />';
echo 'Last Name: ' . $api_response['last_name'] . '<br />';
echo 'Sur Name: ' . $api_response['sur_name'] . '<br />';
echo 'Date Birth: ' . $api_response['date_birth'] . '<br />';
echo 'Card Status: ' . $api_response['card_status'] . '<br />';
echo 'Balance: ' . $api_response['balance'] . '<br />';
echo 'Issuance Cost: ' . $api_response['issuance_cost'] . '<br />';
echo 'Renewal Cost: ' . $api_response['renewal_cost'] . '<br />';
echo 'Recharge Cost: ' . $api_response['recharge_cost'] . '<br />';
echo 'Recharge Type: ' . $api_response['recharge_type'] . '<br />';
echo 'Account Refund Cost: ' . $api_response['account_refund_cost'] . '<br />';
echo 'Account Refund Type: ' . $api_response['account_refund_type'] . '<br />';
echo 'Refund Min Amount: ' . $api_response['refund_min_amount'] . '<br />';
echo 'Min Recharge Amount: ' . $api_response['min_recharge_amount'] . '<br />';
echo 'Max Recharge Amount: ' . $api_response['max_recharge_amount'] . '<br />';
echo 'Block Status: ' . $api_response['block_status'] . '<br />';
echo 'Time Blocked: ' . $api_response['time_blocked'] . '<br />';
echo 'Date Blocked: ' . $api_response['date_blocked'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Renombrar tarjeta
Este método de la API permite cambiar el nombre de una tarjeta virtual en el sistema Pay2.House.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta en el sistema, utilizado para obtener sus detalles. |
| name | string | Nuevo nombre de la tarjeta virtual. Longitud máxima — 100 caracteres. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| card_name | string | Nombre de la tarjeta virtual después del cambio. |
<?php
function card_rename($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/rename');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264',
'name' => 'New Card Name'
]);
$api_response = card_rename(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Name: ' . $api_response['card_name'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Recarga de tarjeta
Este método de API permite recargar el saldo de una tarjeta virtual utilizando su cuenta interna.
Los fondos se acreditarán en la tarjeta en un plazo de 2-3 minutos después de crear la solicitud de recarga.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador de la tarjeta virtual que desea recargar. |
| account_number | string | Su número de cuenta interna desde la cual se debitará el importe de recarga. |
| amount | number | Importe que desea acreditar en la tarjeta virtual. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| transaction_number | string | Número de transacción asociado con la recarga de la tarjeta. |
<?php
function card_top_up($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/top_up');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264',
'account_number' => 'P2U48633413',
'amount' => 50
]);
$api_response = card_top_up(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Transaction Number: ' . $api_response['transaction_number'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Reembolso desde la tarjeta
Este método de API permite iniciar un reembolso desde una tarjeta virtual a su cuenta interna.
Los fondos se devuelven a la misma cuenta desde la cual se emitió la tarjeta.
Recibirá el importe menos la comisión de reembolso, de acuerdo con las tarifas de la tarjeta.
Por ejemplo, si realiza un reembolso de $10 y la comisión de reembolso es del 3%, entonces $10 × 3% = $0.30 se retendrán como comisión y se acreditarán $9.70 en su cuenta.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta desde la cual se realiza el reembolso. |
| amount | number | Importe del reembolso que debe transferirse a la cuenta interna. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| transaction_number | string | Número único de transacción asociado con el reembolso realizado desde la tarjeta. |
<?php
function card_refund($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/refund');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264',
'amount' => 10
]);
$api_response = card_refund(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Transaction Number: ' . $api_response['transaction_number'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Historial de operaciones de la tarjeta
Este método de API proporciona acceso a la lista completa de operaciones realizadas con su tarjeta virtual.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta virtual para la cual desea obtener el historial de operaciones. |
| per_page | number | Cantidad de registros que se mostrarán en una página. |
| page | number | Número de página para la paginación. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| count | number | Cantidad total de transacciones en el historial de operaciones de esta tarjeta. |
| transactions | array | Lista de objetos que contienen detalles de cada transacción, incluyendo fecha, importe y tipo de operación. |
<?php
function cards_history($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/history');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264',
'per_page' => 10,
'page' => 3
]);
$api_response = cards_history(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Count Transactions: ' . $api_response['count'] . '<br />';
if ( ! empty($api_response['transactions'])) {
foreach($api_response['transactions'] AS $item) {
echo 'Transaction Time: ' . $item['transaction_time'] . '<br />';
echo 'Transaction Number: ' . $item['transaction_number'] . '<br />';
echo 'Status: ' . $item['status'] . '<br />';
echo 'Type: ' . $item['type'] . '<br />';
echo 'Transaction Amount: ' . $item['transaction_amount'] . '<br />';
echo 'Transaction Currency Code: ' . $item['transaction_currency_code'] . '<br />';
echo 'Account Amount: ' . $item['account_amount'] . '<br />';
echo 'Account Currency Code: ' . $item['account_currency_code'] . '<br />';
echo 'Merchant Name: ' . $item['merchant_name'] . '<br />';
echo 'Merchant Url: ' . $item['merchant_url'] . '<br />';
echo 'Merchant Domain: ' . $item['merchant_domain'] . '<br />';
echo 'Merchant Icon Url: ' . $item['merchant_icon_url'] . '<br />';
echo 'Error Message: ' . $item['error_message'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Transactions Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Actualizar saldo de la tarjeta
Este método de API permite iniciar una actualización del saldo de la tarjeta virtual, garantizando la obtención de datos actualizados sobre el estado actual de los fondos en la tarjeta.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta virtual para la cual desea actualizar el saldo. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| balance | number | Saldo actual de la tarjeta virtual después de la actualización, mostrando los fondos disponibles. |
<?php
function card_balance_refresh($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/balance/refresh');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264'
]);
$api_response = card_balance_refresh(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Balance: ' . $api_response['balance'] . '<br />';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Códigos de confirmación de la tarjeta
Este método de API permite obtener una lista de códigos de confirmación necesarios para autorizar operaciones con la tarjeta virtual.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta virtual para la cual se requieren códigos de confirmación de operaciones. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
| codes | array | Lista de códigos de confirmación necesarios para completar transacciones con la tarjeta. |
<?php
function card_confirmation_codes($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/confirmation_codes');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264'
]);
$api_response = card_confirmation_codes(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
if ( ! empty($api_response['codes'])) {
foreach($api_response['codes'] AS $item) {
echo 'Time Created: ' . $item['time_created'] . '<br />';
echo 'Date Created: ' . $item['date_created'] . '<br />';
echo 'Otp Code: ' . $item['otp_code'] . '<br />';
echo '----------------------------------------';
echo '<br />';
}
} else {
echo 'No Confirmation Codes Found.';
}
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Bloquear tarjeta
Este método de API permite bloquear una tarjeta virtual, impidiendo su uso posterior.
Si hay fondos en el saldo de la tarjeta, se devolverán a la cuenta interna desde la cual se emitió la tarjeta, de acuerdo con las tarifas de reembolso.
Sin embargo, si el importe del reembolso después de deducir la comisión es inferior al importe mínimo de reembolso, dichos fondos se debitarán del saldo de la tarjeta.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta virtual que desea bloquear. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
<?php
function cards_block($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/block');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264'
]);
$api_response = cards_block(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Blocked Successfully.';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Cerrar tarjeta
Este método de API permite cerrar una tarjeta virtual, impidiendo su uso posterior.
Es importante señalar que este método no puede utilizarse para cerrar una tarjeta si quedan fondos en ella.
| Parámetro | Tipo | Descripción |
|---|---|---|
| card_id | string | Identificador único de la tarjeta virtual que desea cerrar. |
Parámetros de respuesta:
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | string | Estado de ejecución de la solicitud (por ejemplo, "success" para una solicitud ejecutada correctamente). |
| code | string | Código de respuesta (por ejemplo, "REQUEST_SUCCESS" para una solicitud exitosa). |
<?php
function card_close($request_body = [])
{
$curl = curl_init('https://pay2.house/api/cards/close');
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request_body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ( ! empty($info['http_code']) && $info['http_code'] === 200) {
return json_decode($body, TRUE);
}
}
$sign_token = create_token([
'card_id' => 'VC7914059264'
]);
$api_response = card_close(['sign_token' => $sign_token, 'api_key' => 'YOUR_API_KEY']);
if ( ! empty($api_response['status'])) {
if ($api_response['status'] == 'success') {
echo 'Card Closed Successfully.';
} else {
echo 'Error Code: ' . $api_response['code'] . '<br />';
echo 'Error Message: ' . $api_response['msg'] . '<br />';
}
} else {
echo 'Unknown Error';
}
?>
Estados de bloqueo de la tarjeta
Descripción de los posibles estados de bloqueo de la tarjeta y sus significados.
| Estado | Descripción |
|---|---|
| terms_violation | Violación de los términos de uso |
| insufficient_funds | Fondos insuficientes |
| unauthorized_topup | Intentos de recarga no autorizados |
| high_refund_rate | Alto porcentaje de reembolsos |
| prebilling | Primera facturación |
| subscription_delay | Retraso en la cuota de suscripción |
| invalid_personal_data | Datos personales incorrectos o incompletos |
| illegal_activity | Intentos de acciones ilegales |
| verification_issues | Problemas de verificación |
| high_risk | Alto nivel de riesgo |
| terms_change | Cambio de condiciones de la tarjeta |
| inactivity | Inactividad |
| internal_errors | Errores internos |
| regulatory_requirements | Requisitos regulatorios |
| user_blocked | El cliente bloqueó la tarjeta |
| not_blocked | No bloqueada |
Webhook Events
En cuanto el estado del pago cambia a "Pagado", Pay2.House envía automáticamente notificaciones en formato webhook a su Webhook URL previamente indicado, que configura para su comerciante.
Enviaremos la notificación 100 veces hasta recibir el estado HTTP 200 y el texto de respuesta "OK".
Además, nuestro sistema incluye automáticamente en el encabezado de la solicitud el parámetro "Pay2-House-Signature" con un token único. Puede utilizar este token para verificar la autenticidad de la solicitud.
<?php
// Function for decoding webhook data
function decrypt_webhook($data = NULL, $secret_key = NULL)
{
$decoded_data = base64_decode($data);
if ($decoded_data === FALSE) {
return FALSE;
}
list($iv, $signature, $encrypted_data) = explode('|', $decoded_data);
$calculated_signature = hash_hmac('sha256', $iv . '|' . $encrypted_data, $secret_key);
if (hash_equals($calculated_signature, $signature)) {
$decoded_encrypted_data = openssl_decrypt(
base64_decode($encrypted_data),
'AES-256-CBC',
hex2bin(hash('sha256', $secret_key)),
0,
hex2bin(bin2hex(hex2bin($iv)))
);
if ($decoded_encrypted_data !== FALSE) {
return $decoded_encrypted_data;
}
}
return FALSE;
}
// Retrieving the webhook request body and decoding the JSON
$payload_body = file_get_contents('php://input');
$payload_decode = json_decode($payload_body, TRUE);
// Checking for the presence of a signature in the request header
if ( ! empty($_SERVER['HTTP_PAY2_HOUSE_SIGNATURE'])) {
// Decoding webhook data and outputting the decoded data
$decrypt_webhook = decrypt_webhook($_SERVER['HTTP_PAY2_HOUSE_SIGNATURE'], 'YOUR_API_KEY');
if ($decrypt_webhook !== FALSE) {
$webhook_decode = json_decode($decrypt_webhook, TRUE);
}
}
// Example print of $payload_decode and $webhook_decode
// Array
// (
// [invoice_number] => IN4063112032
// [external_number] => test
// [amount] => 10
// [handling_fee] => 0
// [currency_code] => EUR
// [description] => Test Payment for Pay2.House
// [status] => paid
// )
// Setting HTTP status 200 and terminating the script with the response text "OK"
http_response_code(200);
exit('OK');
?>
Posibles errores
Estos son algunos de los posibles errores que pueden ocurrir al utilizar la API.
| Código de error | Descripción del error |
|---|---|
| INVALID_TOKEN | Token de firma inválido o ausente. |
| INVALID_API_KEY | Clave API inválida o ausente. |
| API_KEY_NOT_FOUND | No se encontró la clave API especificada. |
| INACTIVE_API_KEY | La clave API proporcionada está inactiva. |
| SIGNATURE_DECODING_FAILED | Error al decodificar la firma. |
| INVALID_SIGNATURE_DATA | Datos de firma inválidos. |
| EXPIRED_SIGNATURE | La firma ha expirado. |
| MISMATCHED_SIGNATURE_ISSUER | Key ID inválido o ausente. |
| INVALID_MERCHANT_ID | Merchant ID inválido o ausente. |
| MERCHANT_ID_NOT_FOUND | Merchant ID no encontrado. |
| ACCESS_DENIED_MERCHANT | Acceso denegado al Merchant ID especificado. |
| INVALID_EXTERNAL_NUMBER | Número externo de pago inválido o ausente. |
| INVALID_AMOUNT | Importe inválido. |
| INVALID_CURRENCY_CODE | Código de moneda inválido. |
| INVALID_DESCRIPTION | Descripción del pago inválida o ausente. |
| SIGNATURE_VERIFICATION_FAILED | La verificación de firma falló debido a un error. |
| INVALID_RETURN_URL | URL de retorno después de pago exitoso inválida o ausente. |
| INVALID_CANCEL_URL | URL de cancelación de pago inválida o ausente. |
| INVALID_PAYER_EMAIL | Dirección de correo electrónico del cliente inválida. |
| INVALID_COMMENT | Comentario inválido o ausente. |
| INSUFFICIENT_SENDER_BALANCE | Saldo insuficiente en la cuenta del remitente. |
| AMOUNT_EXCEEDS_SENDER_BALANCE | El importe de la transferencia supera el saldo disponible en la cuenta del remitente. |
| SENDER_ACCOUNT_NOT_FOUND | Cuenta del remitente no encontrada. |
| INVALID_SENDER_ACCOUNT | Cuenta del remitente inválida. |
| RECIPIENT_ACCOUNT_NOT_FOUND | Cuenta del destinatario no encontrada. |
| INVALID_RECIPIENT_ACCOUNT | Cuenta del destinatario inválida. |
| DIFFERENT_CURRENCY_CODES | Las cuentas del remitente y del destinatario tienen monedas diferentes. |
| INVALID_TRANSFER | Las cuentas del remitente y del destinatario no pueden ser iguales. |
| PROVIDER_NOT_FOUND | Método de pago no encontrado o inactivo. |
| PROVIDER_OPTION_NOT_FOUND | Opciones del método de pago no encontradas. |
| AMOUNT_BELOW_MINIMUM | El importe de la transferencia está por debajo del umbral mínimo. |
| AMOUNT_EXCEEDS_MAXIMUM | El importe de la transferencia supera el límite máximo. |
| INSUFFICIENT_BALANCE_AFTER_FEE | Saldo insuficiente en la cuenta del remitente después de considerar la comisión. |
| INVALID_NAME_WALLET | Nombre de cuenta inválido o ausente. |
| INVALID_PAYMENT_METHOD | Método de pago inválido. |
| PAY2_HOUSE_NOT_ENABLED | El método de pago Pay2.House no está disponible para su comerciante. |
| USDT_TRC20_NOT_ENABLED | El método de pago Tether USDT no está disponible para su comerciante. |
| CARDS_NOT_ENABLED | El método de pago CARDS no está disponible para su comerciante. |
| TRON_ACCOUNT_CREATION_ERROR | Error al crear la cuenta TRON. |
| INVALID_INVOICE_NUMBER | Formato de número de cuenta inválido. |
| INVOICE_NOT_FOUND | Cuenta no encontrada. |
| MAX_WALLETS_REACHED | Se ha alcanzado la cantidad máxima permitida de cuentas para su cuenta. |
| MERCHANT_NOT_APPROVED | El comerciante no está aprobado para procesar pagos. |
| INVALID_DEADLINE_SECONDS | Valor inválido del intervalo de tiempo hasta la expiración del pago. |
| USER_DELETED | El usuario fue eliminado. |
| USER_BANNED | El usuario está bloqueado. |
| USER_TEMPORARILY_BLOCKED | El usuario está bloqueado temporalmente. |
| USER_NOT_FOUND | Usuario no encontrado. |
| INVALID_PER_PAGE | Valor inválido para el parámetro "per_page". El valor debe estar entre 10 y 100. |
| INVALID_PAGE | Valor inválido para el parámetro "page". El valor debe ser un número entero positivo. |
| INVALID_STATUS | Estado inválido. |
| INSUFFICIENT_BALANCE | Fondos insuficientes en la cuenta para realizar esta operación. |
| INVALID_FIRST_NAME | El nombre está especificado incorrectamente. |
| INVALID_LAST_NAME | El apellido está especificado incorrectamente. |
| INVALID_SUR_NAME | El segundo nombre está especificado incorrectamente. |
| INVALID_ADDRESS | La dirección de residencia está especificada incorrectamente. |
| INVALID_CITY | La ciudad de residencia está especificada incorrectamente. |
| INVALID_REGION | La región de residencia está especificada incorrectamente. |
| INVALID_POST_CODE | El código postal está especificado incorrectamente. |
| INVALID_EMAIL | El correo electrónico está especificado incorrectamente. |
| INVALID_DATE_BIRTH | La fecha de nacimiento está especificada incorrectamente. |
| FORBIDDEN_COUNTRY | El país no está permitido para su uso. |
| INVALID_PHONE_NUMBER | El número de teléfono está especificado incorrectamente. |
| INVALID_COUNTRY_CODE | El código de país está especificado incorrectamente. |
| VERIFICATION_REQUIRED | Se requiere verificación de la cuenta para realizar la operación. |
| CARD_ISSUANCE_FAILED | No se pudo emitir la tarjeta. |
| INVALID_BIN_NUMBER | Número BIN inválido o ausente. |
| ACCOUNT_NOT_FOUND | No se encontró la cuenta especificada. |
| INVALID_ACCOUNT_NUMBER | Número de cuenta inválido o ausente. |
| CARD_NOT_FOUND | Tarjeta no encontrada. |
| CARD_BLOCKED | La tarjeta está bloqueada. |
| CARD_CLOSED | La tarjeta está cerrada. |
| CARD_AWAITING | La tarjeta está en proceso de emisión. |
| CARD_REFUND_FAILED | El reembolso desde la tarjeta falló. |
| CARD_BLOCKING_FAILED | El bloqueo de la tarjeta falló debido a un error interno del sistema. |
| CARD_DETAILS_FAILED | No se pudieron obtener los detalles de la tarjeta. |
| CARD_BALANCE_NOT_ZERO | La tarjeta no puede cerrarse porque quedan fondos en ella. |
| CARD_CLOSING_FAILED | El cierre de la tarjeta falló debido a un error interno del sistema. |
| REFUND_NOT_ALLOWED | El reembolso no está permitido. |
| CARD_HAS_NO_BALANCE | La tarjeta no tiene saldo. |
| CARD_REFUND_MIN_AMOUNT | No se alcanzó el importe mínimo de reembolso. |
| CARD_REFUND_MAX_AMOUNT | El importe del reembolso supera el límite máximo. |
| CARD_REFUND_COST_GREATER | El importe del reembolso después de deducir la comisión es inferior al mínimo permitido para reembolso. |
| CARD_REFUND_AMOUNT_ZERO | El importe del reembolso debe ser mayor que cero. |
| ACCOUNT_DELETED | La cuenta especificada fue eliminada. |
| CARD_MINIMUM_AMOUNT | El importe de recarga debe ser superior al importe mínimo. |
| CARD_MAXIMUM_AMOUNT | El importe de recarga supera el importe máximo permitido. |
| CARD_BALANCE_REFRESH_FAILED | No se pudo actualizar el saldo de la tarjeta. |
| CARD_HISTORY_REFRESH_FAILED | No se pudo actualizar el historial de operaciones de la tarjeta. |
| SENDER_ACCOUNT_DELETED | La transferencia de fondos no es posible porque la cuenta del remitente fue eliminada o desactivada. |
| RECIPIENT_ACCOUNT_DELETED | La transferencia de fondos no es posible porque la cuenta del destinatario fue eliminada o desactivada. |
| TRANSACTION_NOT_PROCESSED | La transacción no fue procesada debido a un error o restricciones internas. |
| TRANSACTION_NOT_FOUND | Transacción no encontrada en el sistema. |
| INVALID_TRANSACTION_NUMBER | Número de transacción inválido o ausente. |
| INVALID_DATE_RANGE | Se especificó un rango de fechas incorrecto. Compruebe el formato y la lógica correcta (la fecha de inicio no puede ser mayor que la fecha de finalización). |