How to get the address for cryptocurrency payments
Don't forget to specify the "platform ID" and the "Secret key."
CURL:
curl -X POST -d "payment_id=10&platform_id=1&order_id=1&hash=a81983b1...tb8kfyhjd" https://api.passimpay.io/getpaymentwallet
PHP:
$url = 'https://api.passimpay.io/getpaymentwallet'
$platform_id = 0 // Platform ID
$apikey = '1111-2222-3333-4444-5555' // Secret key
$payment_id = 10 // currency ID
$order_id = '45tv34-5Dfgfg6' // Payment ID of your platform. Type string, maximum length 64, allowed characters 'A-Za-z0-9+/=-:.,'
$payload = http_build_query(['payment_id' => $payment_id, 'platform_id' => $platform_id, 'order_id' => $order_id]);
$hash = hash_hmac('sha256' , $payload, $apikey);
$data = [
'payment_id' => $payment_id,
'platform_id' => $platform_id,
'order_id' => $order_id,
'hash' => $hash,
];
$post_data = http_build_query($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curl);
curl_close( $curl );
$result = json_decode($result, true);
// Response options
// In case of success
if (isset($result['result']) && $result['result'] == 1)
{
$address = $result['address'];
$destinationTag = $result['destinationTag']; // For Ripple XRP, network TON
}
// In case of an error
else
{
$error = $result['message']; // Error text
}