不明な入金の返金
アドレスが不明な支払いを受け取った場合、送金者に返金することが推奨されます。これは、資金を保管するよりも手間がかかりますが、顧客に対する誠意を示すことになります。オペレーターが手動で支払いを返金することもできますし、自動的に返金するシステムを構築することもできます。
返金の失敗を防ぐための第一の条件は、入金を適切に監視することです。顧客から送られてきた金額以上の金額を誤って返金してしまうことは避けなければなりません!(悪意のあるユーザは、部分支払いを送信して、脆弱なシステムを利用します。)
第二に、返金を部分支払い(Partial Payment)として送信することです。第三者はアドレス間のパスのコストを操作することができるので、部分支払いを使えば、XRP Ledger内の取引レートを気にすることなく、支払い金額の全額を手放すことができます。利用規約の一部に、支払い失敗時のポリシーを公表する必要があります。失敗された支払いを、運用中のアドレスまたは待機中のアドレスのいずれかから送信します。
部分支払いを送信するには、トランザクションのtfPartialPayment
フラグを有効にします。Amount
フィールドに受け取った金額を設定し、SendMax
フィールドは省略します。受信した支払いのSourceTag
値を、返金する支払いのDestinationTag
値として使用する必要があります。
2つのシステムで返金が繰り返されるのを防ぐため、送信する返金に新しい送信タグを設定することができます。もしシステムが予期しない支払いを受け取った場合で、その支払いの宛先タグが送信した返金の送信元タグと一致する場合は、その支払いを再び返金させないようにします。