Vor dem Anfang
Willkommen bei der offiziellen WestWallet-API-Dokumentation.
Change docs language: UA EN DE RU
Einloggen, um einen API-Schlüssel in den Profileinstellungen zu erhalten.
Fertige Bibliotheken für Programmiersprachen: Python JavaScript Golang PHP
Genehmigung
import json
import hashlib
import hmac
import time
import requests
# Transaktionsinformationen erhalten
api_key = "Ihr_öffentlicher_Schlüssel"
secret_key = "Ihr_privater_Schlüssel"
data = {"id": 435}
timestamp = int(time.time())
if data:
dumped = json.dumps(data, ensure_ascii=False)
else:
dumped = ""
sign = hmac.new(secret_key.encode('utf-8'),
"{}{}".format(timestamp, dumped)
.encode('utf-8'), hashlib.sha256).hexdigest()
headers = {
"Content-Type": "application/json",
"X-API-KEY": api_key,
"X-ACCESS-SIGN": sign,
"X-ACCESS-TIMESTAMP": str(timestamp)
}
resp = requests.post("https://api.westwallet.io/wallet/transaction",
data=json.dumps(data),
headers=headers)
print(resp.json())
Die WestWallet-API erwartet den Empfang in den Headern jeder Ihrer Anfragen X-API-KEY
, X-ACCESS-SIGN
и X-ACCESS-TIMESTAMP
.
X-API-KEY
- Ihr öffentlicher Schlüssel;
X-ACCESS-TIMESTAMP
- Zeitstempel (Unix-Zeitstempel verwenden);
X-ACCESS-SIGN
- HMAC-sha256-Anforderungstext-Signatur (zusammengesetzt aus einer Zeichenfolge,
mit einem Zeitstempel und einer JSON-Darstellung der Anforderungstextdaten),
die mit Ihrem privaten Schlüssel signiert sind. Für GET-Anfragen ist es ähnlich notwendig
bilden eine JSON-Darstellung der Abfrageparameter.
Sehen Sie sich ein Beispiel an, wie eine Zeichenfolge zum Generieren einer Signatur in einer Registerkarte gebildet wird Python-Codebeispiele
Geldbeutel
Daten über Währungen
GET https://api.westwallet.io/wallet/currencies_data
Fordern Sie eine Liste der verfügbaren Währungen und deren Beschränkungen an.
- name - Währungsname
- address_regex - Regulärer Ausdruck, der verwendet wird, um eine Adresse zu validieren, bevor eine Sendetransaktion erstellt wird
- require_dest_tag - ob die Währung ein Ziel-Tag erfordert
- tickers - Liste gültiger Währungsticker zur Weitergabe von Anfragen
- min_receive - Mindesteinzahlung
- min_withdraw - Mindestauszahlungsbetrag
- max_withdraw_per_transaction - maximaler Auszahlungsbetrag pro Transaktion
- max_withdraw_transactions_per_day - maximale Anzahl von Sendungen pro Tag
- active – ob die Währung aktiv ist
- send_active – ob Auszahlung für die Währung erlaubt ist
- receive_active – ob der Empfang für die Währung erlaubt ist
HTTP-Anfrage
GET /wallet/currencies_data
[
{
"name": "Bitcoin",
"address_regex": "^([13][a-km-zA-HJ-NP-Z1-9]{25,34})|^(bc1([qpzry9x8gf2tvdw0s3jn54khce6mua7l]{39}|[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{59}))$",
"require_dest_tag": false,
"tickers": [
"BTC",
],
"min_receive": 0.0005,
"min_withdraw": 0.0001,
"max_withdraw_per_transaction": 5,
"max_withdraw_transactions_per_day": 1000000,
"active": true,
"send_active": true,
"receive_active": true
},
{
"name": "USDT TRC-20",
"address_regex": "^[T][a-km-zA-HJ-NP-Z1-9]{25,34}$",
"require_dest_tag": false,
"tickers": [
"USDTTRC",
],
"min_receive": 10,
"min_withdraw": 1,
"max_withdraw_per_transaction": 100000,
"max_withdraw_transactions_per_day": 1000000,
"active": true,
"send_active": true,
"receive_active": true
}
]
Abhebungen
POST https://api.westwallet.io/wallet/create_withdrawal
{
"id": 123123,
"amount": 0.1,
"address": "35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ",
"dest_tag": "",
"currency": "BTC",
"status": "pending",
"blockchain_hash": "72648cefcc47b4371f28dc3328bc863918913eebf81b40d4a97d577b96c1ce53",
"fee": "0.0001",
"error": "ok"
}
# Send 0.1 ETH to 0x57689002367b407f031f1BB5Ef2923F103015A32
from westwallet_api import WestWalletAPI
from westwallet_api.exceptions import InsufficientFundsException, BadAddressException
client = WestWalletAPI("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel")
try:
sent_transaction = client.create_withdrawal(
"ETH", "0.1", "0x57689002367b407f031f1BB5Ef2923F103015A32"
)
except InsufficientFundsException:
# diesen Fall behandeln
pass
except BadAddressException:
# behandelt auch diesen Fall
pass
else:
print(sent_transaction.__dict__)
const westwallet = require('westwallet-api');
const westwalletErrors = require('westwallet-api/lib/errors');
const publicKey = "Ihr_öffentlicher_Schlüssel";
const privateKey = "Ihr_privater_Schlüssel";
let client = new westwallet.WestWalletAPI(
publicKey,
privateKey
);
client.createWithdrawal("ETH", "0.1", "0x57689002367b407f031f1BB5Ef2923F103015A32")
.then((data) => {
console.log(data);
}).catch((error) => {
if (error instanceof westwalletErrors.InsufficientFundsError) {
console.log("Unzureichende Mittel");
} else if (error instanceof westwalletErrors.BadAddressError) {
console.log("Regex für fehlerhafte Adresse");
} else {
console.log(error);
}
});
package main
import (
"fmt"
westwallet "github.com/westwallet/westwallet-golang-api"
)
// Senden von 0.1 ETH an 0x57689002367b407f031f1BB5Ef2923F103015A32
client := westwallet.APIClient{
Key: "Ihr_öffentlicher_Schlüssel",
Secret: "Ihr_privater_Schlüssel",
}
transaction, err := client.CreateWithdrawal(
"ETH", "0.1", "0x57689002367b407f031f1BB5Ef2923F103015A32", "", ""
)
fmt.Println(err)
if err != nil {
panic(err)
}
fmt.Println(transaction)
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\InsufficientFundsException;
$client = new Client("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel");
// Senden von 0.1 ETH an 0x57689002367b407f031f1BB5Ef2923F103015A32
try {
$tx = $client->createWithdrawal("ETH", "0.1", "0x57689002367b407f031f1BB5Ef2923F103015A32");
print(implode("|", $tx)."\n");
} catch(InsufficientFundsException $e) {
print("Sie haben nicht genug Geld, um diese Auszahlung vorzunehmen"."\n");
}
Heben Sie Geld aus der Brieftasche ab, die Sie benötigen.
HTTP-Anfrage
POST /wallet/create_withdrawal
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currency | BTC | Jawohl | Währung zu senden |
amount | 0.1 | Jawohl | Betrag zu senden |
address | 35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ | Jawohl | Adresse des Empfängers |
dest_tag | 1390985919 | Nein | Ziel-Tag (für einige Währungen erforderlich) |
description | Nein | Etikett zur weiteren Identifizierung in Ihrem Konto | |
priority | medium | Nein | Transaktionspriorität – low (Abhebungsintervall 24–48 Stunden, für viele Währungen verfügbar, reduzierte Gebühren, die bei der Kontaktaufnahme mit dem Support besprochen werden können), medium oder high. Der Standardwert ist medium. |
ipn_url | https://yourwebsite.com/payment_secret_token?tx_id=123321 | Nein | URL für sofortige Zahlungsbenachrichtigung. Unter dieser URL werden Sie benachrichtigt, sobald die Transaktion tatsächlich gesendet wird. |
Senden mehrerer Transaktionen
POST https://api.westwallet.io/wallet/create_withdrawal/many
# Request
{
"currency": "BTC",
"priority": "high",
"transactions": [
{
"address": "39iUBiSKuqUtMSSEgimuEkXyrmPP2YnuB5",
"amount": "5",
"description": "40124"
},
{
"address": "3KJFvx88XUtqUgannLDZFm7XzHXACGLuJL",
"amount": "0.015",
"description": "40125"
},
{
"address": "35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ",
"amount": "0.010",
"description": "40126"
}
]
}
# Response
{
"error": "ok",
"results": [
{
"address": "39iUBiSKuqUtMSSEgimuEkXyrmPP2YnuB5",
"amount": "5.00000000",
"description": "40124",
"error": "insufficient_funds"
},
{
"address": "3KJFvx88XUtqUgannLDZFm7XzHXACGLuJL",
"amount": "0.01500000",
"blockchain_hash": "72648cefcc47b4371f28dc3328bc863918913eebf81b40d4a97d577b96c1ce53",
"currency": "BTC",
"error": "ok",
"fee": "0.00027500",
"id": 611438237,
"status": "pending",
"description": "40125"
},
{
"address": "35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ",
"amount": "0.01000000",
"blockchain_hash": "72648cefcc47b4371f28dc3328bc863918913eebf81b40d4a97d577b96c1ce53",
"currency": "BTC",
"error": "ok",
"fee": "0",
"id": 611438238,
"status": "pending",
"description": "40126"
}
]
}
Senden Sie mehrere Transaktionen aus der von Ihnen benötigten Wallet. In diesem Fall werden Netzwerkprovisionsrabatte angewendet.
Bei Zweit- und Folgetransaktionen wird für die Festpreisart ein Rabatt von 50 % gewährt.
Die erste Transaktion ist die Transaktion mit dem größten Betrag.
Die Methode funktioniert nur für Währungen mit der Möglichkeit zum Massenversand: BTC, BCH, BTG, BSV, ADA, DASH, DOGE, LTC, XMR, ZEC.
HTTP-Anfrage
POST /wallet/create_withdrawal/many
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currency | BTC | Jawohl | Währung zu senden |
priority | medium | Nein | Transaktionspriorität – low (Abhebungsintervall 24–48 Stunden, für viele Währungen verfügbar, reduzierte Gebühren, die bei der Kontaktaufnahme mit dem Support besprochen werden können), medium oder high. Der Standardwert ist medium. |
transactions | Jawohl | Ein Array (Liste) von Transaktionsdaten. Die Struktur der Felder ist unten angegeben |
Post-Optionen Sie Parameter der transactions struktur
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
amount | 0.1 | Jawohl | Betrag zu senden |
address | 35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ | Jawohl | Adresse des Empfängers |
description | Nein | Etikett zur weiteren Identifizierung in Ihrem Konto | |
ipn_url | https://yourwebsite.com/payment_secret_token?tx_id=123321 | Nein | URL für sofortige Zahlungsbenachrichtigung. Unter dieser URL werden Sie benachrichtigt, sobald die Transaktion tatsächlich gesendet wird. |
Transaktionsstatus
Mögliche Status:
- "completed" - Transaktion erfolgreich abgeschlossen.
- "pending" - Die Transaktion wurde zur Verarbeitung akzeptiert und befindet sich mit anderen Transaktionen im Pool und wird in Kürze ausgeführt.
- "sending" - Das Senden wurde abgeschlossen, aber es kam keine Antwort vom Knoten. Dies ist ein Zwischenstand. Nach einer automatischen Prüfung durch unseren Operator wird der Status auf "completed" oder "network_error" geändert.
- "network_error" - Blockchain-bezogener Sendefehler.
POST https://api.westwallet.io/wallet/transaction
{
"id": 123123,
"type": "send",
"amount": 0.1,
"address": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg",
"dest_tag": "755785168",
"label": "your_label",
"currency": "XRP",
"status": "completed",
"blockchain_confirmations": 1,
"blockchain_hash": "BC07C0937F2B12D8DF8F90B5A421957DC690DC8512F97925217726E6A28F0A93",
"fee": "0.0001",
"error": "ok"
}
from westwallet_api import WestWalletAPI
client = WestWalletAPI("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel")
transaction = client.transaction_info(19)
print(transaction.__dict__)
const westwallet = require('westwallet-api');
const westwalletErrors = require('westwallet-api/lib/errors');
const publicKey = "Ihr_öffentlicher_Schlüssel";
const privateKey = "Ihr_privater_Schlüssel";
let client = new westwallet.WestWalletAPI(
publicKey,
privateKey
);
client.transactionInfo(1284).then((data) => {
console.log(data);
}).catch((error) => {
if (error instanceof westwalletErrors.TransactionNotFoundError) {
console.log("Transaktion nicht gefunden");
}
});
package main
import (
"fmt"
westwallet "github.com/westwallet/westwallet-golang-api"
)
client := westwallet.APIClient{
Key: "Ihr_öffentlicher_Schlüssel",
Secret: "Ihr_privater_Schlüssel",
}
transaction, err := client.TransactionInfo(145);
fmt.Println(err)
if err != nil {
panic(err)
}
fmt.Println(transaction)
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\TransactionNotFoundException;
$client = new Client("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel");
try {
$tx = $client->transactionInfo(134);
print(implode("|", $tx)."\n");
} catch(TransactionNotFoundException $e) {
print("Transaktion nicht gefunden"."\n");
}
Überprüfen Sie den Status einer Bewerbung.
HTTP-Anfrage
POST /wallet/transaction
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
id | 123123 | id oder label | Transaktions-ID innerhalb des WestWallet-Dienstes |
label | 321321 | id oder label | Adressbezeichnung der Empfangstransaktion innerhalb des WestWallet-Dienstes |
Verlauf der Transaktionen
POST https://api.westwallet.io/wallet/transactions
{
"error": "ok",
"result": [{
"id": 123123,
"created_at": "2019-12-29 15:07:13",
"updated_at": "2019-12-29 15:12:43",
"type": "send",
"amount": 0.1,
"address": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg",
"dest_tag": "755785168",
"label": "dein_label",
"currency": "XRP",
"status": "completed",
"description": "Ihre benutzerdefinierte Beschreibung",
"blockchain_confirmations": 1,
"blockchain_hash": "BC07C0937F2B12D8DF8F90B5A421957DC690DC8512F97925217726E6A28F0A93",
"fee": "0.0001"
}]
}
Transaktionsverlauf anzeigen.
HTTP-Anfrage
POST /wallet/transactions
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currency | BTC | Nein | Währungscode, für den Sie eine Liste der Transaktionen erhalten möchten. Wenn nicht angegeben, erhalten Sie eine Liste der Transaktionen für alle Währungen. |
limit | 10 | Nein | Die Anzahl der Transaktionen als Antwort auf die Anfrage (nicht mehr als 100). Wenn nicht angegeben, ist der Standardwert 10. |
offset | 20 | Nein | Voreingenommenheit |
type | send | Nein | Transaktionstyp: Senden oder Empfangen. Wenn nicht angegeben, erhalten Sie eine Liste aller. |
order | desc | Nein | Sortierreihenfolge: desc - von neuen Transaktionen zu alten, asc - von alten zu neuen. |
status | pending | Nein | Transaktionsstatus zum Filtern (ausstehend oder abgeschlossen) |
Wallet-Guthaben
GET https://api.westwallet.io/wallet/balance?currency=BTC
{
"balance": 0.55,
"currency": "BTC"
}
from westwallet_api import WestWalletAPI
client = WestWalletAPI("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel")
balance = client.wallet_balance("BTC")
print(balance.balance)
const westwallet = require('westwallet-api');
const westwalletErrors = require('westwallet-api/lib/errors');
const publicKey = "Ihr_öffentlicher_Schlüssel";
const privateKey = "Ihr_privater_Schlüssel";
let client = new westwallet.WestWalletAPI(
publicKey,
privateKey
);
client.walletBalance("BTC").then((data) => {
console.log(data);
}).catch((error) => {
if (error instanceof westwalletErrors.CurrencyNotFoundError) {
console.log("Keine solche Währung");
}
});
package main
import (
"fmt"
westwallet "github.com/westwallet/westwallet-golang-api"
)
client := westwallet.APIClient{
Key: "Ihr_öffentlicher_Schlüssel",
Secret: "Ihr_privater_Schlüssel",
}
balance, err := client.WalletBalance("BTC");
fmt.Println(err)
if err != nil {
panic(err)
}
fmt.Println(balance)
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\CurrencyNotFoundException;
$client = new Client("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel");
try {
$balance = $client->walletBalance("BTC");
print(implode("|", $balance)."\n");
} catch(CurrencyNotFoundException $e) {
print("Keine solche Währung"."\n");
}
Wallet-Guthaben prüfen
HTTP-Anfrage
GET /wallet/balance?currency=BTC
Parameter abfragen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currency | BTC | Jawohl | Wallet-Währung |
Salden aller Wallets
GET https://api.westwallet.io/wallet/balances
{
"ETH": 3.22,
"ETC": 34,
"LTC": 40,
"BTC": 1.11,
"XLM": 319.11,
"XMR": 15.12
}
from westwallet_api import WestWalletAPI
client = WestWalletAPI("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel")
balances = client.wallet_balances()
print(balances.__dict__)
const westwallet = require('westwallet-api');
const westwalletErrors = require('westwallet-api/lib/errors');
const publicKey = "Ihr_öffentlicher_Schlüssel";
const privateKey = "Ihr_privater_Schlüssel";
let client = new westwallet.WestWalletAPI(
publicKey,
privateKey
);
client.walletBalances().then((data) => {
console.log(data);
}).catch((error) => {
console.log(error);
});
package main
import (
"fmt"
westwallet "github.com/westwallet/westwallet-golang-api"
)
client := westwallet.APIClient{
Key: "Ihr_öffentlicher_Schlüssel",
Secret: "Ihr_privater_Schlüssel",
}
balances, err := client.WalletBalances();
fmt.Println(err)
if err != nil {
panic(err)
}
fmt.Println(balance)
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\CurrencyNotFoundException;
$client = new Client("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel");
$balances = $client->walletBalances();
print(implode("|", $balances)."\n");
Finden Sie die Salden aller Wallets heraus
HTTP-Anfrage
GET /wallet/balances
Adressen
Adresse generieren
POST https://api.westwallet.io/address/generate
{
"address": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg",
"dest_tag": "755785168",
"currency": "XRP",
"label": "your_label",
"error": "ok"
}
from westwallet_api import WestWalletAPI
client = WestWalletAPI("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel")
address = client.generate_address("XRP", "https://yourwebsite.com/ipn_url", "your_address_label")
print(address.address, address.dest_tag)
const westwallet = require('westwallet-api');
const westwalletErrors = require('westwallet-api/lib/errors');
const publicKey = "Ihr_öffentlicher_Schlüssel";
const privateKey = "Ihr_privater_Schlüssel";
let client = new westwallet.WestWalletAPI(
publicKey,
privateKey
);
client.generateAddress("BTC", "https://yourwebsite.com/ipn_url", "your_address_label")
.then((data) => {
console.log(data);
}).catch((error) => {
if (error instanceof westwalletErrors.CurrencyNotFoundError) {
console.log("Keine solche Währung");
}
});
package main
import (
"fmt"
westwallet "github.com/westwallet/westwallet-golang-api"
)
client := westwallet.APIClient{
Key: "Ihr_öffentlicher_Schlüssel",
Secret: "Ihr_privater_Schlüssel",
}
address, err := client.GenerateAddress("BTC", "https://yourwebsite.com/ipn_url", "Ihr_Adressetikett")
if err != nil {
panic(err)
}
fmt.Println(address.Address)
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\CurrencyNotFoundException;
$client = new Client("Ihr_öffentlicher_Schlüssel", "Ihr_privater_Schlüssel");
try {
$address = $client->generateAddress("BTC");
print(implode("|", $address)."\n");
} catch(CurrencyNotFoundException $e) {
print("Keine solche Währung"."\n");
}
HTTP-Anfrage
POST /address/generate
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currency | BTC | Jawohl | Währung der Adresse, die Sie generieren werden |
ipn_url | https://yourwebsite.com/payment_secret_token?tx_id=123321 | Nein | Benachrichtigungs-URL für sofortige Zahlung. Sie erhalten eine Benachrichtigung an diese Adresse, sobald jemand Geld an diese Adresse einzahlt |
label | tx54543 | Nein | Geben Sie eine Bezeichnung für die Adresse zur weiteren Identifizierung an (maximal 30 Zeichen) |
Zahlungsseite (Rechnung)
POST https://api.westwallet.io/address/create_invoice
{
"allowed_currencies_data": [{"address": "35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ",
"amount": 0.00211364,
"currency_code": "BTC",
"dest_tag": ""},
{"address": "rn97Zbg9V6hiqJoK6EQ8RtuaLUTYHSFXyw",
"amount": 0.02658667,
"currency_code": "XRP",
"dest_tag": "10000324245"}],
"expire_at": "2022-01-31 19:36:14",
"token": "0b4ab755b42b6ff7fcb01100e42ec3",
"url": "https://westwallet.io/payment/0b4ab755b42b6ff7fcb01100e42ec3",
"error": "ok"
}
<?php
require_once 'vendor/autoload.php';
use WestWallet\WestWallet\Client;
use WestWallet\WestWallet\InsufficientFundsException;
$client = new Client("your_public_key", "your_private_key");
$response = $client->createInvoice(array("BTC", "USDTTRC"), "100", "https://yourwebsite.com/payment_secret_token?tx_id=123321", true, "https://yourwebsite.com/thank_you", "Payment 1234", "1234", 15);
print(implode("|", $response)."\n");
HTTP-Anfrage
POST /address/create_invoice
Post-Optionen
Parameter | Beispiel | Verpflichtend | Beschreibung |
---|---|---|---|
currencies | ["BTC", "XRP"] | Jawohl | Liste der zulässigen Kryptowährungen für die Zahlung. |
amount | 100 | Jawohl | Höhe der Einschreibung. Wenn im Währungsfeld mehr als eine Währung angegeben ist, muss der Betrag in USD angegeben werden. |
amount_in_usd | true | Nein | Verwenden Sie dieses Feld, wenn Sie einen Betrag in USD angeben müssen, wenn eine Währung im Währungsfeld angegeben ist. Dieses Feld ist automatisch wahr, wenn mehr als eine Währung im Währungsfeld angegeben ist. |
ipn_url | https://yourwebsite.com/payment_secret_token?tx_id=123321 | Jawohl | Benachrichtigungs-URL für sofortige Zahlung. Sie erhalten eine Benachrichtigung an diese Adresse, sobald jemand Geld auf die für die Rechnung generierte Adresse gutschreibt |
success_url | https://yourwebsite.com/thank_you | Nein | URL zur Weiterleitung nach erfolgreicher Zahlung |
description | Payment 1234 | Nein | Zahlungs-Beschreibung. Textinformationen, die auf der Zahlungsseite angezeigt werden. |
label | 1234 | Nein | Geben Sie eine Bezeichnung für die Adresse zur weiteren Identifizierung an (maximal 30 Zeichen) |
ttl | 15 | Nein | Anwendungslebensdauer in Minuten. Maximal 15 Minuten. Nach Ablauf dieser Zeit wird die Zahlungsschnittstelle (Adressen, QR etc.) nicht mehr auf der Antragsseite angezeigt. |
Liste der Transaktionen der Zahlungsseite (Rechnung)
Sehen Sie sich die Liste der eingehenden Transaktionen an, die an die für die angegebene Zahlungsseite generierten Adressen eingegangen sind.
GET https://api.westwallet.io/address/invoice_transactions
{
"count": 1,
"error": "ok",
"result": [{"address": "5mpjDRgoRYRmSnAXZTfB2bBkbpwvRjobXUjb4WYjF225",
"amount": "120",
"blockchain_confirmations": 0,
"blockchain_hash": "5RYQvquKnuEZyH3bumRqmnvwHsjTVgqFoBWc6jxyirDzsSjtgELRccnzoQJv3zdoPmR7xS657unUQhManbrttcQd",
"created_at": "2023-07-31 13:04:12",
"currency": "SOL",
"description": null,
"dest_tag": "",
"fee": "0",
"id": 763,
"label": "434532",
"status": "pending",
"type": "receive",
"updated_at": null}]
}
HTTP-Anfrage
GET /address/invoice_transactions?token=80f1321011b280877959f241a0e60b
Abfrageparameter
Argument | Beispiel | Erforderlich | Beschreibung |
---|---|---|---|
token | 80f1321011b280877959f241a0e60b | Ja | Token der Zahlungsseite (Rechnung). |
Zahlungsbenachrichtigungen
Beispiele für Zahlungsbenachrichtigungen
{
"id": 123123,
"amount": 0.1,
"address": "35NjwZg8T4F12ESdEo3rQeYQ8ZiTyDYoTJ",
"dest_tag": "",
"label": "312321",
"currency": "BTC",
"status": "completed",
"blockchain_confirmations": 1,
"fee": "0.0001",
"blockchain_hash": "72648cefcc47b4371f28dc3328bc863918913eebf81b40d4a97d577b96c1ce53"
}
Nachdem Sie eine Adresse generiert haben, indem Sie ipn_url
dafür angegeben haben und die Währung an diese Adresse erhalten haben,
Sie erhalten eine POST-Anfrage an diese URL mit eine solche Datenstruktur
Mögliche Status im Anfragetext: pending
, completed
.
Wir senden eine Anfrage mit einem Header Content-Type: application/x-www-form-urlencoded
.
Mögliche Fehler
In der Antwort auf jede Anfrage gibt es ein Feld "error". Wenn "error" != "ok", dann hast du einen der folgenden fehler:
- "wrong_auth" - Der öffentliche Schlüssel ist ungültig
- "ip_not_allowed" - Die IP, von der die Anfrage gestellt wird, befindet sich nicht in der Zulassungsliste
- "wrong_hmac" - öffentlicher Schlüssel ist korrekt, HMAC-Signatur ist falsch
- "not_allowed_by_api_key" - Dieser Schlüssel darf diese Art von Aktion nicht ausführen
- "account_blocked" - Konto ist gesperrt
- "bad_address" - die Adresse stimmt nicht mit dem Regex-Ausdruck zur Überprüfung der Korrektheit der Adresse überein
- "insufficient_funds" - Die Bilanz reicht nicht aus
- "max_withdraw_error" - der Betrag übersteigt den für die Auszahlung zulässigen Höchstbetrag, Der Höchstbetrag wird im Feld max_withdraw im Antworttext angegeben
- "min_withdraw_error" - Der Betrag liegt unter dem für die Auszahlung zulässigen Mindestbetrag
- "currency_not_found" - Währung nicht gefunden
- "currency_not_active" - Währung gefunden, aber nicht aktiv
- "deposit_not_allowed" - Quittung nicht vorhanden
- "not_found" - Transaktion nicht gefunden
- "wrong_ipn_url" - IPN-URL ist falsch
- "self_address" - versuchen, an eine Adresse zu senden, die zu Ihrem Konto gehört
- "bad_priority" - Die angegebene Priorität für die Transaktion ist nicht zulässig
- "too_much_addresses_per_day" - In den letzten 24 Stunden wurden zu viele Adressen generiert
Fehler
Die WestWallet-API verwendet diese Fehlercodes für alle Anfragen:
Fehlercode | Bedeutung |
---|---|
400 | Bad Request - Falsch angegebene Request-Felder, Dekodierung im errors -Feld. |
401 | Unauthorized - Der API-Schlüssel ist falsch oder gar nicht angegeben. |
404 | Not Found - Die Quelle kann nicht gefunden werden. Sehen Sie sich die Dokumentation an. |
405 | Method Not Allowed - Sie versuchen, eine Anfrage mit einer verbotenen HTTP-Methode zu stellen. |
429 | Too Many Requests - Zu viele Anfragen von Ihnen. |
500 | Internal Server Error - Das Problem liegt auf unserer Serverseite. Bitte melden Sie dies unserem Support. |
Bei erfolgreicher Anfrage erhalten Sie den Status 200
.