顧客への送金
顧客のためにXRP Ledgerに支払いを送信する自動化システムを構築する際には、支払いが確実に行われるように注意する必要があります。悪意のある行為者は常に、システムを騙して必要以上の金額を支払わせる方法を見つけようとしています。
一般的に、ステーブルコインを送る場合はPaymentトランザクションを使用します。初めてトークンを発行するのか、ホットウォレットから顧客へ送金するのかによって、細かい点が異なる部分もあります。注意すべき点は以下の通りです。
- トークンの発行元(
issuer
フィールド)には、必ず発行アドレスを指定してください。そうしないと、他のアドレスが発行した同じ通貨を配信するパスを誤って使用してしまう可能性があります。 - XRP Ledgerに支払いを送信する前に、支払いのコストを再確認してください。あなたの運用アドレスから顧客への支払いは、着金金額とあなたが設定した送金手数料よりも高くなるべきではありません。
- 発行アドレスから新しいトークンを発行する場合、
SendMax
フィールドを省略する必要があります。そうしないと、悪意のあるユーザは、意図した宛先のAmount
だけでなく、SendMax
の全量を発行するように設定を変更することができます。 - ホットウォレットからトークンを送信する場合、送金手数料がゼロでない場合は
SendMax
を指定する必要があります。この場合、SendMax
フィールドにAmount
フィールドで指定した金額と送金手数料を設定します。(計算の精度がXRP Ledgerと正確に一致しない場合に備えて、少し切り上げるとよいでしょう)。例えば、Amount
フィールドに99.47USDが指定され、送金手数料が0.25%のトランザクションを送信する場合、SendMax
フィールドを124.3375、または切り上げる場合は124.34USDに設定すべきです。 Paths
フィールドを省略します。このフィールドは、発行元から直接送信する場合や、送信するトークンと受信するトークンの通貨コードと発行元が同じである限り、つまり同じステーブルコインである限り、ホットウォレットから設定する必要はありません。Paths
フィールドはクロスカレンシー支払いやより長いマルチホップ(rippling)支払いを対象としています。単純に経路探索を行い、トランザクションにパスを設定すると、直接の経路が利用できない場合、支払いは失敗するのではなく、より高価な遠回りのパスを取るかもしれません。悪意のあるユーザはこれを利用して利益を得る可能性があります。tecPATH_DRY
の結果コードが表示された場合、通常、必要なトラストラインを顧客がまだ設定していないか、発行者のripplingが正しく設定されていないことを意味します
XRP Ledger上でステーブルコインやその他のトークンを発行するための詳しいチュートリアルは、代替可能トークンの発行をご覧ください。