Những gì bạn có thể nhận
Dùng giao dịch LTC minh bạch thông thường đến địa chỉ hóa đơn mới. Bộ quét hóa đơn không hỗ trợ giao dịch riêng tư MWEB. Tính đến phí mạng khi gửi.
Thiết lập cửa hàng
- Cài Wholly Crypto, tạo dự án và cửa hàng, giữ sao lưu ví riêng tư.
- Kiểm tra kết nối tương thích máy quét và bật chuỗi, tài sản muốn dùng trong Cửa hàng → Phương thức thanh toán.
- Đặt xác nhận và thời hạn. Thử hóa đơn nhỏ và xác minh quyết toán trước khi hoàn tất đơn hàng.
Nơi tiền thanh toán đến
Một địa chỉ minh bạch mới xác định mỗi hóa đơn. Giữ bản sao lưu đầy đủ và chi tiết đường dẫn tạo khóa: ví ngoài có thể cần quét vượt khoảng trống địa chỉ ban đầu để tìm mọi hóa đơn đã trả.
Hướng dẫn thiết lập víChuyển tiền khi bạn sẵn sàng
Gom tiền kết hợp các đầu ra có thể chi tiêu đến đích bạn chọn. Phí trả bằng LTC, và nhiều đầu ra nhỏ có thể làm giao dịch đắt hơn. Đặt mức tối thiểu hợp lý và xem phí trước khi gửi.
Hướng dẫn gom tiền tự độngCó hỗ trợ giao dịch riêng tư MWEB không?
Không. Wholly Crypto quét thanh toán LTC minh bạch thông thường, không quét giao dịch riêng tư MWEB. Yêu cầu khách dùng địa chỉ hóa đơn và chờ theo chính sách xác nhận đã cấu hình trước khi thực hiện đơn hàng.
Khắc phục sự cố thanh toán
Kiểm tra mạng này trước
Dùng chuyển LTC minh bạch, không phải MWEB. Ví khôi phục có thể cần quét địa chỉ rộng hơn để tìm khoản nhận hóa đơn cũ.
Thanh toán thiếu hoặc chậm
Đối chiếu mạng, địa chỉ, tài sản và mọi tham chiếu bắt buộc với hóa đơn. Kiểm tra máy quét sẵn sàng và tiến độ xác nhận. Đừng yêu cầu thanh toán lần hai trước khi kiểm tra giao dịch đầu.
Hướng dẫn nhận tiềnKhôi phục hoặc hợp nhất ví
Giữ sao lưu riêng và chi tiết dẫn xuất. Ứng dụng ví khác có thể không hiển thị mọi địa chỉ nhận. Gửi và khôi phục phụ thuộc chuỗi, định dạng ví; chỉ nhập từ khôi phục không bảo đảm cả hai.
Sao lưu & khôi phụcPhí và xác minh
Phí xử lý mặc định là 1% giá trị tiền pháp định hóa đơn, trả từ tín dụng riêng. Áp dụng mức được gán cho bạn. Phí mạng và chi phí máy chủ riêng biệt.
Nhà cung cấp công khai có thể gặp sự cố hoặc giới hạn tần suất. Giao dịch đã gửi hay chuyển hướng quay lại không phải bằng chứng thanh toán. Dùng trạng thái hóa đơn đã xác minh và thông báo đã ký.
Tín dụng xử lý API, IPN & webhookCông cụ tính tỷ giá
Quy đổi số tiền
Đây là ước tính, không phải báo giá thanh toán. Không gồm phí mạng, phí sàn và mức chênh lệch của nhà bán hàng.
Tỷ giá đến từ đâu?
Ước tính tiền mã hóa dùng giá công khai Kraken được lưu đệm, với Binance khi có sẵn. Một số giá Binance dùng USDT làm tham chiếu USD. Tỷ giá tiền pháp định đến từ Frankfurter và là tỷ giá tham chiếu hằng ngày, không phải báo giá giao dịch trực tiếp.
Snapshot tự làm mới. Kiểm tra ngày nguồn bên dưới kết quả. Số tiền bạn nhập nằm trong trình duyệt. Tài sản được liệt kê không bảo đảm được hỗ trợ thanh toán.
Kraken · Binance · Frankfurter · Tên & biểu tượng tài sản: CoinGecko
Tạo hóa đơn bằng API
Chạy ví dụ này trên máy chủ của bạn. Thay máy chủ API, ID dự án và ID cửa hàng, giữ thông tin xác thực riêng tư. Số tiền là chuỗi thập phân.
Bật phương thức trong cửa hàng trước. Lựa chọn thu hẹp phương thức đã bật; không thêm tài sản. Nếu không khớp gì, áp dụng mặc định cửa hàng. Kiểm tra phương thức trả về trước khi hiển thị trang thanh toán.
: "${WHOLLY_TOKEN:?Set WHOLLY_TOKEN to your server-side API token}"
# Keep this key and the exact body for retries; use a new key for each new invoice.
curl --fail-with-body --max-time 30 \
--request POST \
--url "https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices" \
--header "Authorization: Bearer $WHOLLY_TOKEN" \
--header 'Idempotency-Key: order-1042-attempt-1' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": "25.00",
"currency": "EUR",
"order_id": "order-1042",
"payment_methods": [
{
"chain_slug": "litecoin",
"asset_tickers": [
"LTC"
]
}
]
}'// Node.js 18+ · run on your server, never in browser code.
const token = process.env.WHOLLY_TOKEN;
if (!token) throw new Error("Set WHOLLY_TOKEN");
// Keep this key and the exact body for retries; use a new key for each new invoice.
const body = `{
"amount": "25.00",
"currency": "EUR",
"order_id": "order-1042",
"payment_methods": [
{
"chain_slug": "litecoin",
"asset_tickers": [
"LTC"
]
}
]
}`;
const response = await fetch("https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices", {
method: "POST",
headers: {
"Authorization": `Bearer ${token}`,
"Idempotency-Key": "order-1042-attempt-1",
"Content-Type": "application/json"
},
body,
redirect: "error",
signal: AbortSignal.timeout(30000)
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
console.log(await response.json());<?php
// PHP 8+ with the cURL extension; run on your server.
$token = getenv('WHOLLY_TOKEN');
if (!$token) { throw new RuntimeException('Set WHOLLY_TOKEN'); }
// Keep this key and the exact body for retries; use a new key for each new invoice.
$body = <<<'JSON'
{
"amount": "25.00",
"currency": "EUR",
"order_id": "order-1042",
"payment_methods": [
{
"chain_slug": "litecoin",
"asset_tickers": [
"LTC"
]
}
]
}
JSON;
$ch = curl_init("https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $token, "Idempotency-Key: order-1042-attempt-1", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false) { throw new RuntimeException(curl_error($ch)); }
curl_close($ch);
if ($status < 200 || $status >= 300) { throw new RuntimeException("HTTP $status: $response"); }
print_r(json_decode($response, true, 512, JSON_THROW_ON_ERROR));# Python 3 · standard library; run on your server.
import json
import os
from urllib.request import Request, build_opener, HTTPRedirectHandler
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
# Keep this key and the exact body for retries; use a new key for each new invoice.
headers = {
"Idempotency-Key": "order-1042-attempt-1",
"Content-Type": "application/json"
}
headers["Authorization"] = "Bearer " + os.environ["WHOLLY_TOKEN"]
body = """{
"amount": "25.00",
"currency": "EUR",
"order_id": "order-1042",
"payment_methods": [
{
"chain_slug": "litecoin",
"asset_tickers": [
"LTC"
]
}
]
}""".encode("utf-8")
request = Request("https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices",
method="POST", headers=headers, data=body)
# Non-2xx responses raise HTTPError. Do not retry writes with a new key.
with build_opener(NoRedirect()).open(request, timeout=30) as response:
print(json.load(response))