API

Pay2.House

Buat Kunci API

Untuk membuat kunci API, buka tautan: https://pay2.house/keys/prepare

Otorisasi Permintaan

Pay2.House menggunakan JSON Web Tokens (JWT) untuk mengotorisasi permintaan API.

Untuk informasi lebih lanjut tentang JSON Web Tokens (JWT), disarankan untuk membaca panduan token JWT.

Untuk bekerja dengan API, Anda perlu menginstal library yang memungkinkan pembuatan dan pemrosesan JSON Web Tokens (JWT). Disarankan untuk menggunakan library berikut: PHP-JWT

<?php 

    
use Firebase\JWT\JWT;
    use 
Firebase\JWT\Key;
    use 
phpseclib3\Crypt\RSA;


    function 
create_token($data = [])
    {
        
$private_key    = file_get_contents('pay2_test_private.pem');
        
$current_time   = time();

        
$payload = [
            
'iss'   => 'YOUR_KEY_ID', 
            
'iat'   => $current_time,
            
'data'  => $data
        
]; 

        return 
JWT::encode($payload, openssl_pkey_get_private($private_key), 'RS256');
    }

?>

Buat Pembayaran

Metode API ini memungkinkan Anda menginisialisasi pembayaran baru untuk melakukan pembayaran melalui layanan pembayaran Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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);
    }

?>

Informasi Pembayaran

Metode API ini memungkinkan Anda meminta informasi tentang pembayaran Anda dalam sistem pembayaran Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Buat Transfer

Metode API ini memungkinkan Anda menginisialisasi transfer baru ke akun internal dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Informasi Transfer

Metode API ini memungkinkan Anda mendapatkan informasi detail tentang transfer, termasuk status, jumlah, tanggal dan waktu eksekusi, serta data terkait lainnya.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Riwayat Transfer

Metode API ini memungkinkan Anda meminta daftar transaksi, dengan memberikan informasi tentang semua transfer yang telah dilakukan.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Dapatkan Daftar Akun

Metode API ini memungkinkan Anda meminta daftar semua akun yang terkait dengan akun Anda dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Buat Akun

Metode API ini memungkinkan Anda membuat akun unik yang dapat digunakan untuk pembayaran dan transaksi di dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Informasi Akun

Metode API ini memungkinkan Anda meminta informasi tentang akun Anda dalam sistem pembayaran Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Dapatkan Rekening Koran

Metode API ini memungkinkan Anda mendapatkan rekening koran detail untuk akun yang dipilih, termasuk informasi tentang semua transaksi dan perubahan saldo.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Dapatkan Daftar BIN

Metode API ini memungkinkan Anda mendapatkan daftar BIN yang tersedia untuk penerbitan kartu virtual dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Dapatkan Daftar Kartu

Metode API ini memungkinkan Anda meminta daftar kartu virtual yang diterbitkan untuk akun Anda dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Terbitkan Kartu

Metode API ini memungkinkan Anda menerbitkan kartu virtual baru dalam sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Informasi Kartu

Metode API ini memungkinkan Anda mendapatkan informasi detail tentang kartu virtual, termasuk nomor kartu, status, tanggal penerbitan, dan data terkait lainnya.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Ganti nama kartu

Metode API ini memungkinkan Anda mengubah nama kartu virtual di sistem Pay2.House.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Isi Ulang Kartu

Metode API ini memungkinkan Anda mengisi ulang saldo kartu virtual menggunakan akun internal Anda.

Dana akan dikreditkan ke kartu dalam 2-3 menit setelah permintaan isi ulang dibuat.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Pengembalian Dana dari Kartu

Metode API ini memungkinkan Anda memulai pengembalian dana dari kartu virtual ke akun internal Anda.

Dana dikembalikan ke akun yang sama dari mana kartu diterbitkan.

Anda akan menerima jumlah setelah dikurangi biaya pengembalian dana, sesuai tarif kartu.

Misalnya, jika Anda melakukan pengembalian dana sebesar $10 dan biaya pengembalian dana adalah 3%, maka $10 × 3% = $0.30 akan dipotong sebagai biaya, dan $9.70 akan dikreditkan ke akun Anda.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Riwayat Operasi Kartu

Metode API ini memberikan akses ke daftar lengkap operasi yang dilakukan dengan kartu virtual Anda.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Perbarui Saldo Kartu

Metode API ini memungkinkan Anda memulai pembaruan saldo kartu virtual, sehingga mendapatkan data terkini tentang kondisi dana saat ini pada kartu.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Kode Konfirmasi Kartu

Metode API ini memungkinkan Anda mendapatkan daftar kode konfirmasi yang diperlukan untuk mengotorisasi operasi dengan kartu virtual.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Blokir Kartu

Metode API ini memungkinkan Anda memblokir kartu virtual, menghentikan kemungkinan penggunaannya lebih lanjut.

Jika terdapat dana pada saldo kartu, dana tersebut akan dikembalikan ke akun internal dari mana kartu diterbitkan, sesuai tarif pengembalian dana.

Namun, jika jumlah pengembalian dana setelah dikurangi biaya lebih kecil dari jumlah minimum pengembalian dana, dana tersebut akan didebit dari saldo kartu.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Tutup Kartu

Metode API ini memungkinkan Anda menutup kartu virtual, menghentikan kemungkinan penggunaannya lebih lanjut.

Penting untuk dicatat bahwa metode ini tidak dapat digunakan untuk menutup kartu jika masih ada dana di dalamnya.

Kirim permintaan POST ke alamat berikut:

Parameter respons:

<?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';
    }

?>

Status Pemblokiran Kartu

Deskripsi status pemblokiran kartu yang mungkin dan artinya.

Webhook Events

Segera setelah status pembayaran berubah menjadi "Dibayar", Pay2.House secara otomatis mengirim notifikasi dalam format webhook ke Webhook URL yang telah Anda tentukan sebelumnya, yang Anda konfigurasi untuk merchant Anda.

Kami akan mengirim notifikasi 100 kali sampai menerima status HTTP 200 dan teks respons "OK".

Selain itu, sistem kami secara otomatis menyertakan parameter "Pay2-House-Signature" dengan token unik di header permintaan. Anda dapat menggunakan token ini untuk memverifikasi keaslian permintaan.

<?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');
?>

Kemungkinan Kesalahan

Berikut adalah beberapa kemungkinan kesalahan yang dapat terjadi saat menggunakan API.

Kami menggunakan cookie untuk meningkatkan pengalaman di situs ini. Dengan terus menggunakan situs, Anda menyetujui Kebijakan Privasi dan Ketentuan Layanan kami.