This commit is contained in:
parent
7098ac75cb
commit
df91762271
29 changed files with 3079 additions and 838 deletions
|
|
@ -361,10 +361,34 @@ export Financials LoadFinancials(std::string_view json) {
|
|||
// text: the renderer should not know what a chain id or a token decimal is, any
|
||||
// more than it knows where ECB rates come from.
|
||||
export struct OrderCryptoPay {
|
||||
std::string address; // where the money goes, "0x…"
|
||||
std::string address; // where the money goes: "0x…", or an IBAN
|
||||
std::string amount; // decimal EURC amount ("570.43") — equals the
|
||||
// euro total; EURC is euro-denominated at par
|
||||
std::int64_t minutesLeft = 0; // until the window closes; <= 0 = closed
|
||||
|
||||
// ── bank transfer instead of on-chain ─────────────────────────────
|
||||
//
|
||||
// Both live rails are self-hosted, so both render instructions here rather
|
||||
// than a button. Non-empty `beneficiary` is what marks this a bank
|
||||
// transfer: `address` is then an IBAN, `chains` is empty, and the copy
|
||||
// must not mention networks or tokens.
|
||||
//
|
||||
// The name is not decoration. Since 2025-10-09 every euro-area transfer is
|
||||
// name-checked against the IBAN by Verification of Payee, and the payer
|
||||
// gets a mismatch warning mid-payment if what we printed is not what the
|
||||
// bank holds. Printing a friendly trading name here would scare buyers off
|
||||
// at the last step, so this carries the bank's own spelling.
|
||||
std::string beneficiary;
|
||||
// The structured ISO 11649 form of the reference. Quoted alongside the
|
||||
// short one because the payer's bank validates its check digits and
|
||||
// rejects a mistyped one before the money leaves — which is what makes
|
||||
// unattended matching on our side safe.
|
||||
std::string structuredReference;
|
||||
// Shown only when configured, and labelled as the field a payer sending
|
||||
// from OUTSIDE SEPA needs. An IBAN alone has been sufficient within SEPA
|
||||
// since 2016, so putting a BIC in front of a Dutch buyer is one more box
|
||||
// to fill and one more thing to mistype.
|
||||
std::string bic;
|
||||
// The transfer is visible on the network but not yet in a finalized
|
||||
// block. Display-only: the buyer whose wallet said "success" needs to
|
||||
// hear "we see it, it is finalizing" or their next step is a support
|
||||
|
|
|
|||
Loading…
Reference in a new issue