Accept a payment
Send the price. You get a payment link. Your buyer picks a coin and pays. The money lands in your Deluxiam wallet.
POST https://deluxiam.com/api/create-payment
client_secret Your secret from the API keys page
amount The price, like 25
currency USD (default) or a coin: BTC, LTC, DOGE, BNB, USDT, SHIB, ETH, TRX
receive_currency Optional. The coin you want in your wallet (auto-converted). Empty = the coin the buyer paid
pay_currency Optional. Set it to get the address, amount and QR code right away (show them on your own page)
order_id, description Optional. Shown to the buyer and sent back to you
callback_url Optional. We tell this link every time the status changes
success_url, cancel_url Optional. Where the buyer goes back to
Fee 0.5%. The buyer has 1 hour to pay. Minimum 1 USD.
Curl Python JavaScript PHP Response
Copy
curl -X POST "https://deluxiam.com/api/create-payment" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"client_secret\": \"your_client_secret_here\", \"amount\": \"25\", \"currency\": \"USD\", \"receive_currency\": \"USDT\", \"order_id\": \"1001\", \"callback_url\": \"https://yourshop.com/ipn\", \"success_url\": \"https://yourshop.com/thanks\"}"
Copy
import requests
r = requests.post("https://deluxiam.com/api/create-payment", json={
"client_secret": "your_client_secret_here",
"amount": "25",
"currency": "USD",
"receive_currency": "USDT",
"order_id": "1001",
"callback_url": "https://yourshop.com/ipn",
"success_url": "https://yourshop.com/thanks"
})
payment = r.json()["payment"]
print(payment["checkout_url"]) # send your buyer here
Copy
const r = await fetch("https://deluxiam.com/api/create-payment", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "application/json" },
body: JSON.stringify({
client_secret: "your_client_secret_here",
amount: "25",
currency: "USD",
receive_currency: "USDT",
order_id: "1001",
callback_url: "https://yourshop.com/ipn",
success_url: "https://yourshop.com/thanks"
})
});
const { payment } = await r.json();
console.log(payment.checkout_url); // send your buyer here
Copy
<?php
$ch = curl_init("https://deluxiam.com/api/create-payment");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json", "Accept: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"client_secret" => "your_client_secret_here",
"amount" => "25",
"currency" => "USD",
"receive_currency" => "USDT",
"order_id" => "1001",
"callback_url" => "https://yourshop.com/ipn",
"success_url" => "https://yourshop.com/thanks"
]));
$payment = json_decode(curl_exec($ch), true)["payment"];
header("Location: " . $payment["checkout_url"]); // send your buyer here
?>
Copy
{
"status": true,
"payment": {
"id": "8f2c1a9b3d4e5f60",
"order_id": "1001",
"status": "new",
"price_amount": "25",
"price_currency": "USD",
"pay_currency": null,
"pay_amount": null,
"pay_address": null,
"qr_code_url": null,
"receive_currency": "USDT",
"checkout_url": "https://deluxiam.com/pay/8f2c1a9b3d4e5f60"
}
}
With "pay_currency": "BTC" you also get right away:
"status": "waiting",
"pay_currency": "BTC",
"pay_amount": "0.00030491",
"pay_address": "bc1q...",
"qr_code_url": "https://deluxiam.com/pay/8f2c1a9b3d4e5f60/qr",
"expires_at": "2026-10-20T03:30:00Z"
Check a payment
Ask for the latest status of a payment at any time.
POST https://deluxiam.com/api/payment-status
new Made, the buyer has not picked a coin yet
waiting Coin picked, waiting for the money (1 hour)
confirming Money seen, waiting for the network to confirm
paid Done. The money is in your wallet
underpaid Only part arrived. That part is in your wallet
expired Time ran out, nothing arrived
Curl Python JavaScript PHP Response
Copy
curl -X POST "https://deluxiam.com/api/payment-status" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"client_secret\": \"your_client_secret_here\", \"id\": \"8f2c1a9b3d4e5f60\"}"
Copy
import requests
r = requests.post("https://deluxiam.com/api/payment-status", json={
"client_secret": "your_client_secret_here",
"id": "8f2c1a9b3d4e5f60"
})
print(r.json()["payment"]["status"])
Copy
const r = await fetch("https://deluxiam.com/api/payment-status", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "application/json" },
body: JSON.stringify({ client_secret: "your_client_secret_here", id: "8f2c1a9b3d4e5f60" })
});
console.log((await r.json()).payment.status);
Copy
<?php
$ch = curl_init("https://deluxiam.com/api/payment-status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json", "Accept: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["client_secret" => "your_client_secret_here", "id" => "8f2c1a9b3d4e5f60"]));
echo json_decode(curl_exec($ch), true)["payment"]["status"];
?>
Copy
{
"status": true,
"payment": {
"id": "8f2c1a9b3d4e5f60",
"order_id": "1001",
"status": "paid",
"price_amount": "25",
"price_currency": "USD",
"pay_currency": "BTC",
"pay_amount": "0.00030491",
"pay_address": "bc1q...",
"qr_code_url": "https://deluxiam.com/pay/8f2c1a9b3d4e5f60/qr",
"received_amount": "0.00030491",
"receive_currency": "USDT",
"credited_amount": "24.875",
"fee": "0.125",
"txids": ["5e1f..."],
"late": false,
"expires_at": "2026-10-20T03:30:00Z",
"paid_at": "2026-10-20T02:48:12Z",
"created_at": "2026-10-20T02:29:40Z",
"checkout_url": "https://deluxiam.com/pay/8f2c1a9b3d4e5f60"
}
}
Get notified (IPN)
When the status changes we POST the same payment JSON to your callback_url. Check the X-Deluxiam-Signature header (HMAC-SHA256 of the body with your client secret). Answer with HTTP 200. If you do not, we try again 6 more times.
PHP Python JavaScript
Copy
<?php
$body = file_get_contents("php://input");
$sign = hash_hmac("sha256", $body, "your_client_secret_here");
if (!hash_equals($sign, $_SERVER["HTTP_X_DELUXIAM_SIGNATURE"] ?? "")) { http_response_code(403); exit; }
$payment = json_decode($body, true);
if ($payment["status"] === "paid") {
// mark order $payment["order_id"] as paid
}
http_response_code(200);
?>
Copy
import hmac, hashlib, json
def ipn(body: bytes, signature: str):
sign = hmac.new(b"your_client_secret_here", body, hashlib.sha256).hexdigest()
if not hmac.compare_digest(sign, signature):
return 403
payment = json.loads(body)
if payment["status"] == "paid":
pass # mark order payment["order_id"] as paid
return 200
Copy
const crypto = require("crypto");
// Express: app.post("/ipn", express.raw({ type: "*/*" }), ...)
app.post("/ipn", express.raw({ type: "*/*" }), (req, res) => {
const sign = crypto.createHmac("sha256", "your_client_secret_here").update(req.body).digest("hex");
if (sign !== req.get("X-Deluxiam-Signature")) return res.sendStatus(403);
const payment = JSON.parse(req.body);
if (payment.status === "paid") { /* mark order payment.order_id as paid */ }
res.sendStatus(200);
});
Check Email
This API checks if the provided Email is valid.
POST https://deluxiam.com/api/p2p-check
Curl Python JavaScript PHP Response
Copy
curl -X POST "https://deluxiam.com/api/p2p-check" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"client_secret\": \"your_client_secret_here\", \"receiver\": \"[email protected] \"}"
Copy
import requests
import json
url = "https://deluxiam.com/api/p2p-check"
headers = {
"Accept": "application/json",
"Content-Type": "application/json"
}
payload = {
"client_secret": "your_client_secret_here",
"receiver": "[email protected] "
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.status_code)
print(response.json())
Copy
const axios = require('axios');
const url = "https://deluxiam.com/api/p2p-check";
const headers = {
"Accept": "application/json",
"Content-Type": "application/json"
};
const payload = {
client_secret: "your_client_secret_here",
receiver: "[email protected] "
};
axios.post(url, payload, { headers })
.then(response => {
console.log('Status:', response.status);
console.log('Data:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});
Copy
<?php
$url = "https://deluxiam.com/api/p2p-check";
$headers = [
"Accept: application/json",
"Content-Type: application/json"
];
$data = [
"client_secret" => "your_client_secret_here",
"receiver" => "[email protected] "
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Send Money
This API sends money to a user via Email.
POST https://deluxiam.com/api/send-p2p
Curl PHP Python JavaScript Response
Copy
curl -X POST "https://deluxiam.com/api/send-p2p" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"client_secret\": \"your_client_secret_here\", \"email\": \"[email protected] \", \"currency_code\": \"TRX\", \"amount\": \"1.00\", \"note\": \"Payment for services rendered\"}"
Copy
<?php
$url = "https://deluxiam.com/api/send-p2p";
$headers = [
"Accept: application/json",
"Content-Type: application/json"
];
$data = [
"client_secret" => "your_client_secret_here",
"email" => "[email protected] ",
"currency_code" => "TRX",
"amount" => "1.00",
"note" => "Payment for services rendered"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Copy
import requests
import json
url = "https://deluxiam.com/api/send-p2p"
headers = {
"Accept": "application/json",
"Content-Type": "application/json"
}
payload = {
"client_secret": "your_client_secret_here",
"email": "[email protected] ",
"currency_code": "TRX",
"amount": "1.00",
"note": "Payment for services rendered"
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.status_code)
print(response.json())
Copy
const axios = require('axios');
const url = "https://deluxiam.com/api/send-p2p";
const headers = {
"Accept": "application/json",
"Content-Type": "application/json"
};
const payload = {
client_secret: "your_client_secret_here",
email: "[email protected] ",
currency_code: "TRX",
amount: "1.00",
note: "Payment for services rendered"
};
axios.post(url, payload, { headers })
.then(response => {
console.log('Status:', response.status);
console.log('Data:', response.data);
})
.catch(error => {
console.error('Error:', error.response ? error.response.data : error.message);
});
Copy
{"status":true,"tx_id":"84916AA2B46EF"}