Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Timestamp

  • Items

    • item

    • description - e.g. domain name

    • type

      • FIO Domain

      • FIO Address

      • FIO Domain Renewal

      • Bundles

    • Amount in FIO

    • Amount in USDC

    • Executed to blockchain

      • True

      • False

    • Status

      • None

      • Success

      • Failed

  • Target FIO Public Key

  • Status

    • CreatedNew

    • Pending

    • Success

    • Canceled

    • Partial Success

    • Purchase Error

    • DeclinedFailed

  • Payment type

    • FIO Tokens

    • CoinPaymentsStripe

    • Bitpay

  • Link to User

  • Links to Payments

...

  • Order Created

  • Funds credited to Order, e.g. “CoinPayments payment “Stripepayment notification received (TX: 3213123131231, Status: Completed)”

  • Funds debited from Order, e.g. “Charge for pawel@hodl”

  • FIO Domain/Address registered on chain, e.g. “Registred pawel@hodl (FIO TX: kjdhakjdhkadhkajsdhkasjdhkasjhdkas)”

  • FIO Domain/Address registration error, e.g. “Failed to register pawel2@hodl (FIO error: "Insufficient funds")”

  • Funds credited to user, e.g. “Crediting FIO to user”

...

  • Payment notification received, e.g. “CoinPayments “Stripe payment notification received (TX: 3213123131231, Status: Pending)”

...

Depicts payment transactions executed against specific Order. This is akin to Registration site transaction.

  • Timestamp

  • Type

    • Coinpayments

    • Credit Card (future)

    • FIO TokensFIO Tokens

    • Stripe

    • Bitpay

  • Currency

  • Amount

  • Amount in USDC

  • External transaction ID

  • Description

...

...

Paid with

...

Bitpay

Success

Zenuml sequence macro lite
uuida4d69453-01a3-4dc7-a575-93507876c363
customContentId500891793561479683
updatedAt2022-0611-08T2010T22:08:30Z
User FIODashboard CoinPayments FIOChain
@Starter(User)
"{Confirmation}" = User->FIODashboard.PayWithCoinPayments() {
  FIODashboard.CreateOrder(amount_usdc=123,amount_fio=456)
  User->CoinPayments: Redirect.Pay()
  CoinPayments->FIODashboard: WebHookNotification
  FIODashboard.CreatePayment(ReceivedFromCoinPayments)
  FIODashboard.CreatePayment(SpentOnOrder)
  "Registered" = FIODashboard->FIOChain.Register()
  FIODashboard.UpdateOrder()
}

With Errors

User FIODashboard CoinPayments FIOChain @Starter(User) "{Confirmation}" = User->FIODashboard.PayWithCoinPayments() { FIODashboard.CreateOrder(amount_usdc=123,amount_fio=456) User->CoinPayments: Redirect.Pay() CoinPayments->FIODashboard: WebHookNotification FIODashboard.CreatePayment(ReceivedFromCoinPayments) FIODashboard.CreatePayment(SpentOnOrder) "Errors" = FIODashboard->FIOChain.Register() FIODashboard.CreatePayment(ReceivedBackDueToErrors) FIODashboard.CreatePayment(SpentOnFIOTokens) "{Confirmation}" = FIODashboard->FIOChain.SendTokensToUser() FIODashboard.UpdateOrder() }
Zenuml sequence macro lite
uuidd74f5aab-30e7-4ba2-a041-ba045405e67a
customContentId501088347
updatedAt2022-06-08T20:08:49Z
12:05Z

...

Registering FCHs on private domain when not paid with FIO

  • If cart contains a FCH on a domain owned by the user check domain status (private/public)

  • If owner wallet is a Ledger Wallet registration of FCH on private domain is not allowed

    • Display error: “At this moment registration of FIO Cryptyo Handles on private domains is not supported. We are working hard to add this capability to the Ledger’s FIO App.”

  • If the FCH being registered is on a private domain (domain registered in the same transaction will be private):

    • Have the user sign a transaction registering that FCH using pay with FIO functionality (PIN code will be required immediately after they click Purchase)

      • Set the max_fee parameter to 125% of fee obtained from get_fee for register_fio_address

    • Once payment is received (e.g. webhook notification from Stripe received):

      • If domain is being registered in the same purchase, register it first

        • If registration fails, automatically fail FCH registrations on that domain

      • Re-check current register_fio_address fee

        • If just obtained register_fio_address is more than the fee signed by user in the step above fail FCH registration

      • Send FIO Tokens to user in the amount of just obtained register_fio_address

        • If transaction fails with Insufficient funds to cover fee:

          • re-check current register_fio_address fee

          • Send users the difference between new fee and number of tokens they received

          • Resubmit the transaction with higher fee

Registering or renewing domains for multiple years

On-chain execution of cart items

Item

On-chain call

Register FIO Address

register_fio_address

Register FIO Domain

register_fio_domain

Renew FIO Domain

renew_fio_domain

Add bundles to FIO Address

add_bundled_transactions