Tạo khoản thanh toán
Các khoản thanh toán thông qua API chỉ được thực hiện từ số dư ví doanh nghiệp của bạn.
Việc thanh toán có thể được thực hiện theo nhiều cách khác nhau:
- Bạn có thể chọn nhận khoản thanh toán bằng một loại tiền điện tử cụ thể và khoản thanh toán sẽ được tự động xử lý bằng loại tiền điện tử đó. Để làm như vậy, hãy đảm bảo bạn có đủ số dư bằng loại tiền tệ đó để trang trải tất cả các khoản phí liên quan.
- Ngoài ra, bạn có thể chọn chỉ định số tiền thanh toán bằng tiền pháp định. Trong trường hợp này, số tiền sẽ được tự động chuyển đổi sang một loại tiền điện tử cụ thể từ số dư khả dụng của bạn. Ví dụ: nếu bạn yêu cầu thanh toán 20 USD bằng LTC, giá trị tương đương sẽ được khấu trừ từ số dư LTC của bạn. Điều quan trọng là phải có đủ tiền bằng loại tiền điện tử tương ứng để trang trải tất cả các khoản phí áp dụng.
- Một lựa chọn khác là chỉ định số tiền thanh toán bằng tiền pháp định, số tiền này sẽ được tự động chuyển đổi sang một loại tiền điện tử cụ thể dựa trên số dư USDT của bạn. Tùy chọn này đặc biệt hữu ích khi bạn bật tính năng tự động chuyển đổi, vì tiền từ hóa đơn của bạn sẽ được tự động chuyển đổi sang USDT. Ví dụ: nếu bạn muốn thanh toán 20 USD bằng LTC nhưng chỉ có số dư USDT, hãy đảm bảo bạn có đủ tiền USDT để trang trải tất cả các khoản phí.
- Ngoài ra, bạn có thể chọn chỉ định số tiền thanh toán bằng bất kỳ loại tiền điện tử nào bạn muốn. Khoản thanh toán sau đó sẽ được tự động xử lý bằng loại tiền điện tử cụ thể đó, sử dụng số dư USDT khả dụng của bạn. Điều quan trọng là phải có đủ số dư USDT để trang trải tất cả các khoản phí liên quan.
Lời yêu cầu
Tham số truy vấn
Tên | Kiểu tham số | Giá trị mặc định | Sự định nghĩa |
---|---|---|---|
amount* | string | Số tiền thanh toán | |
currency* | string | Mã tiền tệ để thanh toánNếu tiền tệ là tiền pháp định, tham số to_currency là bắt buộc. | |
order_id* | stringmin:1max:100alpha_dash | ID đơn hàng trong hệ thống của bạnTham số phải là một chuỗi bao gồm các ký tự chữ cái, số, dấu gạch dưới và dấu gạch ngang. Chuỗi không được chứa bất kỳ khoảng trắng hoặc ký tự đặc biệt nào.order_id phải là duy nhất trong các khoản thanh toán của người bánKhi chúng tôi tìm thấy khoản thanh toán hiện có với order_id, chúng tôi sẽ trả về thông tin chi tiết của khoản thanh toán đó, khoản thanh toán mới sẽ không được tạo. | |
address* | string | Địa chỉ ví mà khoản tiền sẽ được rút | |
is_subtract* | boolean | Xác định nơi phí rút tiền sẽ được khấu trừđúng - từ số dư của bạnsai - từ số tiền thanh toán, số tiền thanh toán sẽ bị giảm | |
network* | string | Mã mạng BlockchainKhông bắt buộc khi currency/to_currency là một loại tiền điện tử và chỉ có một mạng lưới, ví dụ như BTC | |
url_callback | URL mà webhooks có trạng thái thanh toán sẽ được gửi đến | ||
to_currency | Mã tiền điện tử dùng để thanh toán. Mã này được sử dụng khi tham số tiền tệ là tiền pháp định. Xem ví dụ bên dưới | ||
course_source | stringCác giá trị có sẵn• Binance• BinanceP2p• Exmo• Kucoin | Giá trị từ cài đặt của người bán | Dịch vụ lấy tỷ giá hối đoái để quy đổi trên hóa đơn.Tham số này chỉ được áp dụng nếu tiền tệ là tiền pháp định, nếu không, giá trị mặc định sẽ được lấy từ cài đặt của người bán. |
from_currency | string | null | Cho phép tự động chuyển đổi số tiền rút và sử dụng số dư from_currency. Chỉ khả dụng với USDT. |
priority | stringmin: 4max: 11Các giá trị có sẵn• recommended• economy• high• highest | recommended | Tham số để chọn mức độ ưu tiên rút tiền. Phí rút tiền phụ thuộc vào tham số đã chọn.Tham số này chỉ được áp dụng trong trường hợp sử dụng mạng BTC, ETH, POLYGON và BSC. |
memo | stringmin: 1max: 30 | Mã định danh bổ sung cho TON, được sử dụng để chỉ định người nhận hoặc mục tiêu cụ thể |
Kiểu tham số
stringSự định nghĩa
Số tiền thanh toánKiểu tham số
stringSự định nghĩa
Mã tiền tệ để thanh toánNếu tiền tệ là tiền pháp định, tham số to_currency là bắt buộc.Kiểu tham số
stringmin:1max:100alpha_dashSự định nghĩa
ID đơn hàng trong hệ thống của bạnTham số phải là một chuỗi bao gồm các ký tự chữ cái, số, dấu gạch dưới và dấu gạch ngang. Chuỗi không được chứa bất kỳ khoảng trắng hoặc ký tự đặc biệt nào.order_id phải là duy nhất trong các khoản thanh toán của người bánKhi chúng tôi tìm thấy khoản thanh toán hiện có với order_id, chúng tôi sẽ trả về thông tin chi tiết của khoản thanh toán đó, khoản thanh toán mới sẽ không được tạo.Kiểu tham số
stringSự định nghĩa
Địa chỉ ví mà khoản tiền sẽ được rútKiểu tham số
booleanSự định nghĩa
Xác định nơi phí rút tiền sẽ được khấu trừđúng - từ số dư của bạnsai - từ số tiền thanh toán, số tiền thanh toán sẽ bị giảmKiểu tham số
stringSự định nghĩa
Mã mạng BlockchainKhông bắt buộc khi currency/to_currency là một loại tiền điện tử và chỉ có một mạng lưới, ví dụ như BTCSự định nghĩa
URL mà webhooks có trạng thái thanh toán sẽ được gửi đếnSự định nghĩa
Mã tiền điện tử dùng để thanh toán. Mã này được sử dụng khi tham số tiền tệ là tiền pháp định. Xem ví dụ bên dướiKiểu tham số
string
Các giá trị có sẵn- Binance- BinanceP2p- Exmo- KucoinSự định nghĩa
Dịch vụ lấy tỷ giá hối đoái để quy đổi trên hóa đơn.Tham số này chỉ được áp dụng nếu tiền tệ là tiền pháp định, nếu không, giá trị mặc định sẽ được lấy từ cài đặt của người bán.Kiểu tham số
stringSự định nghĩa
Cho phép tự động chuyển đổi số tiền rút và sử dụng số dư from_currency. Chỉ khả dụng với USDT.Kiểu tham số
stringmin: 4max: 11
Các giá trị có sẵn- recommended- economy- high- highestSự định nghĩa
Tham số để chọn mức độ ưu tiên rút tiền. Phí rút tiền phụ thuộc vào tham số đã chọn.Tham số này chỉ được áp dụng trong trường hợp sử dụng mạng BTC, ETH, POLYGON và BSC.Kiểu tham số
stringmin: 1max: 30Sự định nghĩa
Mã định danh bổ sung cho TON, được sử dụng để chỉ định người nhận hoặc mục tiêu cụ thể
* - tham số bắt buộc
Ví dụ yêu cầu
curl https://api.cryptomus.com/v1/payout \
-X POST \
-H 'merchant: 8b03432e-385b-4670-8d06-064591096795' \
-H 'sign: fe99035f86fa436181717b302b95bacff1' \
-H 'Content-Type: application/json' \
-d '{
"amount": "5",
"currency": "USDT",
"network": "TRON",
"order_id": "1",
"address": "TDD97yguPESTpcrJMqU6h2ozZbibv4Vaqm",
"url_callback": "https://your.site/callback",
"is_subtract": "1",
}'
Sao chépPhản ứng
Các thông số phản hồi
Tên | Sự định nghĩa |
---|---|
uuid | uuid của khoản thanh toán |
amount | Số tiền thanh toán bằng tiền tệ |
currency | Mã tiền tệ để thanh toán |
network | Mã của mạng blockchain trong đó thanh toán được thực hiện |
address | Địa chỉ ví mà khoản thanh toán được thực hiện |
txid | ID giao dịch trong chuỗi khối |
status | Trạng thái thanh toán Xem tất cả các trạng thái có sẵn |
is_final | Việc thanh toán đã được hoàn tất chưaQuá trình thanh toán được coi là hoàn tất khi giao dịch đã được thanh toán thành công hoặc thất bại. Trong trường hợp thanh toán không thành công, tiền sẽ được hoàn lại vào số dư của bạn, yêu cầu bạn phải thực hiện lại quy trình thanh toán. |
balance | Số tiền còn lại trong số dư của người bán. |
payer_currency | Mã tiền điện tử mà khoản thanh toán thực tế sẽ được thực hiện. Địa chỉ thanh toán sẽ nhận được loại tiền thanh toán. |
payer_amount | Số tiền thanh toán bằng tiền_thanh_toán. |
Sự định nghĩa
uuid của khoản thanh toánSự định nghĩa
Số tiền thanh toán bằng tiền tệSự định nghĩa
Mã tiền tệ để thanh toánSự định nghĩa
Mã của mạng blockchain trong đó thanh toán được thực hiệnSự định nghĩa
Địa chỉ ví mà khoản thanh toán được thực hiệnSự định nghĩa
ID giao dịch trong chuỗi khốiSự định nghĩa
Trạng thái thanh toán Xem tất cả các trạng thái có sẵnSự định nghĩa
Việc thanh toán đã được hoàn tất chưaQuá trình thanh toán được coi là hoàn tất khi giao dịch đã được thanh toán thành công hoặc thất bại. Trong trường hợp thanh toán không thành công, tiền sẽ được hoàn lại vào số dư của bạn, yêu cầu bạn phải thực hiện lại quy trình thanh toán.Sự định nghĩa
Số tiền còn lại trong số dư của người bán.Sự định nghĩa
Mã tiền điện tử mà khoản thanh toán thực tế sẽ được thực hiện. Địa chỉ thanh toán sẽ nhận được loại tiền thanh toán.Sự định nghĩa
Số tiền thanh toán bằng tiền_thanh_toán.
Ví dụ phản hồi
1{
2 "state": 0,
3 "result": {
4 "uuid": "a7c0caec-a594-4aaa-b1c4-77d511857594",
5 "amount": "3",
6 "currency": "USDT",
7 "network": "TRON",
8 "address": "TJ...",
9 "txid": null,
10 "status": "process",
11 "is_final": false,
12 "balance": 129,
13 "payer_currency": "USD",
14 "payer_amount": 3
15 }
16}
17
Sao chépLỗi có thể xảy ra
Lỗi xác thực
mã số : 422
ví dụ phản hồi:
1{
2 "state": 1,
3 "errors": {
4 "amount": ["validation.required"]
5 }
6}
Sao chépNếu khoản thanh toán bị chặn trên đơn vị chấp nhận thanh toán hoặc người dùng của bạn, bạn sẽ nhận được thông báo lỗi này. Ví dụ: điều này xảy ra khi bạn thay đổi mật khẩu và khoản thanh toán bị chặn trong 24 giờ.
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
Sao chépNếu chúng tôi không hỗ trợ mã tiền tệ mà bạn cung cấp trong tham số currency, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "The currency was not found"
4}
Sao chépNếu chúng tôi không tìm thấy dịch vụ thực hiện thanh toán, bạn sẽ nhận được thông báo lỗi này. Bạn phải đảm bảo rằng loại tiền điện tử được hỗ trợ. Kiểm tra tính chính xác của các giá trị đã nhập trong: currency, network, from_currency, to_currency:
1{
2 "state": 1,
3 "message": "The service was not found"
4}
Sao chépNếu số tiền rút quá nhỏ, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "The withdrawal amount is too small"
4}
Sao chépNếu bạn không có ví thương gia đang hoạt động với loại tiền điện tử thanh toán, bạn sẽ nhận được lỗi này:
1{
2 "state": 1,
3 "message": "Wallet not found"
4}
Sao chépNếu số tiền thanh toán, bao gồm tất cả hoa hồng, nhiều hơn số dư của bạn, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Not enough funds"
4}
Sao chépNếu chúng tôi không tìm thấy dịch vụ thanh toán của loại tiền tệ được truyền vào tham số to_currency, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Not found service to_currency"
4}
Sao chépNếu vô tình có điều gì đó xảy ra khi chuyển đổi sang to_currency, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
Sao chépNếu số tiền thanh toán ít hơn số tiền tối thiểu được hỗ trợ cho tiền điện tử, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Minimum amount 0.5 USDT"
4}
Sao chépNếu số tiền thanh toán lớn hơn số tiền tối đa được hỗ trợ cho tiền điện tử, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Maximum amount 10000000 USDT"
4}
Sao chépNếu bạn không có đủ tiền để thanh toán, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Not enough funds"
4}
Sao chépNếu bạn không có đủ tiền để chuyển đổi số tiền thanh toán từ from_currency, bạn sẽ nhận được thông báo lỗi này:
1{
2 "state": 1,
3 "message": "Not enough balance for convert USDT to LTC"
4}
Sao chépNếu xảy ra sự cố kỹ thuật và khoản thanh toán tạm thời không khả dụng, bạn sẽ nhận được thông báo lỗi này
1{
2 "state": 1,
3 "message": "The terminal was not found"
4}
Sao chépLỗi máy chủ nội bộ
mã số : 500
ví dụ phản hồi:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
Sao chép