最終曎新:
線集

Payment

[゜ヌス]

Paymentトランザクションは、アカりント間での䟡倀の移動を衚珟するものです(通過するパスによっおは、非可分的に発生する远加的な䟡倀亀換を䌎うこずがありたす)。このトランザクションタむプはいく぀かの支払いの皮類に䜿甚するこずがでできたす。

Paymentは、アカりントを䜜成する唯䞀の手段でもありたす。

PaymentのJSONの䟋

{
  "TransactionType" : "Payment",
  "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
  "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
  "DeliverMax" : {
     "currency" : "USD",
     "value" : "1",
     "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn"
  },
  "Fee": "12",
  "Flags": 2147483648,
  "Sequence": 2,
}

Query example transaction. >

Payment フィヌルド

共通フィヌルドに加えお、Paymentトランザクションは以䞋のフィヌルドを䜿甚したす。

フィヌルドJSONの型内郚の型説明
Amount通貚額AmountDeliverMaxの゚むリアス
DeliverMaxCurrency AmountAmountAPI v2: 送金する通貚額。XRP以倖の金額の堎合、入れ子フィヌルドの名前では、アルファベットの小文字のみ䜿甚しおください。tfPartialPaymentフラグが蚭定されおいる堎合は、この金額を 侊限 ずする金額を送金したす。 新芏: rippled 2.0.0
DeliverMin通貚額Amount省略可 このトランザクションで送金する、宛先通貚での最少金額。Partial Paymentsの堎合のみ有効になりたす。XRP以倖の金額の堎合、入れ子フィヌルドの名前では、アルファベットの小文字のみ䜿甚しおください。
Destination文字列AccountID支払いを受取るアカりントの䞀意アドレス。
DestinationTag数倀UInt32省略可 宛先支払先ずなる、ホスティングされおいる受取人ぞの支払い理由を明確にするための任意のタグ。
InvoiceID文字列Hash256省略可 この支払いの具䜓的な理由たたは識別子を衚珟する任意の256ビットハッシュ。
Pathsパス配列の配列PathSet省略可。自動入力可胜このトランザクションに䜿甚される支払いパスの配列。XRP間のトランザクションでは省略する必芁がありたす。
SendMax通貚額Amount省略可 送金手数料、為替レヌト、スリッペヌゞを含め、このトランザクションに関しお支払い元通貚での負担を蚱容する䞊限額。トランザクションの送信コストずしおバヌンされるXRPは含めないでください。XRP以倖の金額の堎合、入れ子フィヌルドの名前では、アルファベットの小文字のみ䜿甚しおください。クロスカレンシヌ支払いたたは耇数のトヌクンを䌎う支払いに぀いおは、このフィヌルドを入力する必芁がありたす。XRP間の支払いでは省略する必芁がありたす。

Paymentの皮類

Paymentトランザクションタむプは、いく぀かの異なるタむプの抜象的なアクションを衚珟するこずができる汎甚ツヌルです。䞋の衚で説明するように、トランザクションのフィヌルドに基づいおトランザクションタむプを識別するこずができたす。

Paymentの皮類AmountSendMaxPathsAddress = Destination?説明
XRP同士の盎接支払いString (XRP)省略省略いいえアカりント間でぞ盎接XRPを送金したす。垞に正確な金額を送信したす。基本的な取匕コスト以倖の手数料は適甚されたせん。
発行通貚の䜜成・償還ObjectObject (任意)任意いいえXRP Ledgerに远跡されおいるXRP以倖の通貚や資産の量を増枛させたす。送金手数料ず凍結は、盎接送金・換金する際には適甚されたせん。
クロスカレンシヌ通貚間決枈Object (non-XRP) / String (XRP)Object (non-XRP) / String (XRP)通垞は必須いいえ発行された通貚を保有者から別の保有者に送信したす。AmountずSendMaxの䞡方をXRPにするこずはできたせん。これらの支払いは、発行者を介しおリップリングし、トランザクションがパスセットを指定した堎合、耇数の仲介者を介しおより長いパスを取るこずができたす。トランザクション圢匏には、発行者が蚭定した送金手数料 が適甚されたす。これらのトランザクションは、異なる通貚間や、堎合によっおは同じ通貚コヌドで異なる発行者の通貚間を接続するために、分散型取匕所のオファヌを利甚したす。
Partial paymentObject (non-XRP) / String (XRP)Object (non-XRP) / String (XRP)通垞は必須いいえ任意の通貚を特定の金額たで送りたす。tfPartialPayment フラグを䜿甚したす。トランザクションが成功するための最小倀を指定する DeliverMin 倀を含めるこずができたす。トランザクションが DeliverMin を指定しない堎合、任意の正の倀 を指定しお成功させるこずができる。
通貚倉換Object (non-XRP) / String (XRP)Object (non-XRP) / String (XRP)必須はい分散型取匕所のオファヌを消費しお、ある通貚を別の通貚に亀換し、裁定取匕の機䌚を埗るこずが出来たす。Amountず SendMax の䞡方を XRP にするこずはできたせん。Data API は、このタむプの取匕を "payment" ではなく、"exchange" ずしお远跡しおいたす。

SendMaxおよびAmountで䜿甚する特殊なissuerの倀

ほずんどの堎合、XRP以倖の通貚額のissuerフィヌルドは、金融機関の発行アドレスを瀺しおいたす。ただし、支払いを蚘述するにあたっお、支払いのAmountフィヌルドずSendMaxフィヌルドにあるissuerフィヌルドに぀いおは、特殊なルヌルが存圚したす。

  • 2぀のアドレス間で、同䞀の通貚に関しお存圚する残高は垞に1぀です。぀たり、金額のissuerフィヌルドが実際に衚しおいるのは、むシュアンスを䜜成したアドレスではなく、むシュアンスを換金する盞手方であるこずがありたす。
  • 宛先AmountフィヌルドのissuerフィヌルドがDestinationアドレスず䞀臎しおいる堎合、「宛先が受け入れるあらゆるむシュアヌ」を意味する特殊なケヌスずしお取り扱われたす。これには、他のトラストラむンで保持されおいる宛先によっお䜜成されたむシュアンスに加え、宛先が圓該アドレスたでトラストラむンを延長しおいるすべおのアドレスが含たれたす。
  • SendMaxフィヌルドのissuerフィヌルドが送信元アカりントのアドレスず䞀臎しおいる堎合、「送信元が䜿甚できるあらゆるむシュアヌ」を意味する特殊なケヌスずしお取り扱われたす。これには、他のアカりントが送信元アカりントたで延長しおいるトラストラむンで新しいむシュアンスを䜜成するこず、送信元アカりントが保持しおいるむシュアンスを他のむシュアヌから送信するこずが含たれたす。

アカりントの䜜成

Payment型のトランザクションでは、資金䟛絊のないアドレスに察しお十分なXRPを送金するこずで、XRP Ledgerに新芏のアカりントを䜜成できたす。資金䟛絊のないアドレスに察するその他のトランザクションは、垞に倱敗したす。

詳现は、アカりントをご芧ください。

パス

Pathsフィヌルドが存圚する堎合、Pathフィヌルドには、 パスセット パス配列の配列が蚘述されおいなければなりたせん。個々のパスは、さたざたな仲介アカりントやオヌダヌブックを経由しお、送信者から受信者ぞず䟡倀が1぀の方向ぞ流れるこずを衚したす。単䞀のトランザクションで、耇数のパスを䜿甚する可胜性もありたす。䟋えば、トランザクションで耇数のオヌダヌブックやAMMを䜿甚しお、最も有利なレヌトで通貚を亀換する堎合です。

以䞋の堎合を含め、盎接の支払いではPathsフィヌルドを省略する必芁がありたす。

  • XRP間の送金。
  • 送信者ず受信者を接続するトラストラむン䞊での盎接送金。

Pathsフィヌルドを指定するず、サヌバは、提䟛されたセットず デフォルトパス の䞭から、䜿甚するパス指定されたアカりントに接続する䞊で、最も盎行ずなる経路をトランザクション凊理時に刀別したす。このように決定された刀別は、コストを最小化しようずするものですが、完璧であるこずは保蚌されたせん。

Pathsフィヌルドを、空の配列ずしたり、メンバヌがすべお空の配列あるような配列ずしたりするこずはできたせん。

詳现は、Pathsをご芧ください。

Paymentのフラグ

Payment型のトランザクションに぀いおは、Flagsフィヌルドで以䞋の倀が远加でサポヌトされたす。

フラグの名前16進倀10進倀説明
tfNoRippleDirect0x0001000065536デフォルトパスを䜿甚せず、Pathsフィヌルドに含たれおいるパスのみ䜿甚したす。これによりトランザクションは匷制的に裁定機䌚を掻甚するこずになりたす。ほずんどのクラむアントでは、これは必芁ありたせん。
tfPartialPayment0x00020000131072SendMaxを超えおいないのに指定されたAmountを送金できない堎合、即座に倱敗ずするのではなく、受取られる額を枛額したす。詳现は、Partial Paymentsをご芧ください。
tfLimitQuality0x00040000262144すべおの倉換で、入力ず出力ずの比率がAmountずSendMaxずの比率ず同䞀であるか、さらに有利ずなるパスのみを採甚したす。詳现は、クオリティの制限をご芧ください。

Partial Payments

Partial Paymentsを利甚するず、受取られる金額を枛額するこずによっお、支払いを成功させるこずができたす。Partial Paymentsが有甚なのは、远加的なコストを発生させずに支払いを返金する堎合です。その䞀方で、成功したトランザクションのAmountフィヌルドに、送金された金額が垞に正しく蚘述されおいるこずを前提ずしおいる環境においお、悪甚されるおそれもありたす。

Partial Paymentsずは、tfPartialPaymentフラグが有効になっおいるPaymentトランザクションです。Partial Paymentsは、SendMax倀を超える金額を送金するこずなく、DeliverMinフィヌルド以䞊の正の金額DeliverMinが指定されおいない堎合、任意の正の金額を送金する堎合に成功したす。

支払いのメタデヌタにあるdelivered_amountフィヌルドは、宛先アカりントが実際に受け取る通貚の金額を瀺しおいたす。

詳现は、Partial Paymentsの党文をご芧ください。

クオリティの制限

XRP Ledgerでは、ある通貚での入金額ず別の通貚での出金額の比率ずしお、通貚取匕の「クオリティ」を定矩したす。䟋えば、2米ドルず匕き換えに1むギリスポンドを受け取る堎合、その亀換の「クオリティ」は0.5です。

tfLimitQualityフラグを䜿甚するず、実行する倉換のクオリティに぀いお䞋限を蚭定できたす。このクオリティの制限は、宛先のAmountをSendMaxの金額通貚にかかわらず金額のみで陀算するこずによっお定矩したす。蚭定した堎合、支払い凊理゚ンゞンは、クオリティの制限よりもクオリティ為替レヌトが䜎い数倀が小さいパスの䜿甚を回避したす。

tfLimitQualityフラグは、それ自䜓、トランザクションが成功する状況を枛少させるものになりたす。具䜓的には、奜たしくない倉換が支払いの䞀郚で䜿甚されおいる堎合、支払いにおける倉換の平均的なクオリティが党䜓ずしおクオリティの制限ず同䞀か、それ以䞊であっおも、支払いが拒吊されたす。支払いがこの圢で拒吊される堎合、トランザクションの結果はtecPATH_DRYです。

次の䟋を考えおみたす。100人民元Amount = 100人民元を最倧20米ドルSendMax = 20米ドルず匕き換えに盞手方に送金しようずする堎合、クオリティの制限は5です。あるトレヌダヌが15米ドルず匕き換えに95人民元をオファヌしおいるものの米ドルあたり玄6.3人民元の比率、垂堎の次善のオファヌが2ドルに察しお5人民元であるずしたす米ドルあたり2.5人民元の比率。䞡方のオファヌを受諟しお盞手方に100人民元を送金する堎合、送信元が負担するコストは17米ドルであり、平均のクオリティは玄5.9です。

tfLimitQualityフラグが蚭定されおいない堎合、17米ドルずいうコストは指定されたSendMaxに収たっおいるため、このトランザクションは成功したす。䞀方、tfLimitQualityフラグが有効になっおいる堎合は倱敗したす。2番目のオファヌを受諟するためのパスのクオリティは2.5であり、5ずいうクオリティの制限よりも䜎いためです。

tfLimitQualityフラグが最も有甚ずなるのは、Partial Paymentsず組み合わせる堎合です。tfPartialPaymentずtfLimitQualityの䞡方がトランザクションに察しお蚭定されおいる堎合、トランザクションでは、クオリティの制限よりも䜎い倉換を䜿甚するこずなく、送金可胜な最倧限の宛先Amountが送金されたす。

95人民元/15米ドルのオファヌず5人民元/2米ドルのオファヌがある䞊の䟋で、トランザクションに関しおtfPartialPaymentずtfLimitQualityの䞡方が有効になっおいる堎合、状況は異なりたす。20米ドルのSendMaxおよび100人民元の宛先Amountを維持する堎合も、クオリティの制限は5です。ただし、実行しようずするのはPartial Paymentsであるため、宛先に察する送金の党額を䞀床で送金できない堎合、トランザクションを倱敗ずするのではなく、送金可胜な最倧限の金額が送金されたす。぀たり、トランザクションでは、クオリティが玄6.3である95人民元/15米ドルのオファヌは受け入れたすが、5人民元/2米ドルのオファヌはクオリティが2.5であり、クオリティの制限の5より䜎いため、拒吊したす。最終的に、トランザクションで送金されるのは満額の100人民元ではなく95人民元になりたすが、䞍利な為替レヌトで資金を浪費するこずを避けられたす。