Copy link
Specification
1. Short description
CPAY is a service for sending, storing, receiving and exchanging funds, which can be integrated into any other system as a payment method using checkouts. In fact, CPAY is your own bank.
2. Authorization
2.1 Registration
Registration is available in 4 ways:
- By email;
- By phone number;
- By Google account;
- By Metemask wallet.
Available roles for registration:
Individual is a type of user who operates only with the merchant's wallets, can accept, send payments, add new merchant wallets, create checkouts and swap currency. This user has only one merchant.
Business is a type of user that is business-oriented, for example, in a retail environment. It is possible to create merchants up to 5, set up its commissions, integrate with a third-party system and create client wallets.
Conditions and Features:
Registration via Google account can be a login if this Google account is already registered;
Registration via Metamask wallet can be a login if this Metamask account is already registered.
List of possible errors during registration:
- Password must contain at least 8 characters, 1 uppercase letter and 1 digit;
- Email is not in the correct format;
- This user already exists.
Feature set:
- Role selection;
- Inputting e-mail;
- Inputting phone;
- Inputting password;
- Password strength scrollbar;
- Infoblock;
- Sign up button;
- Back arrow;
- Log in link;
- Sign up with Google;
- Sign up with Metamask.
2.2 Login
Login is available in 4 ways:
- by email;
- by phone number;
- by Google account;
- by Metemask wallet.
Conditions and Features:
Login via Google account can be registration if that Google account is not already registered;
Login via Metamask wallet can be registration if that Metamask wallet is not already registered.
List of possible errors during registration:
- E-mail or password is not correct.
Feature set:
- inputting e-mail;
- inputting phone;
- inputting password;
- back arrow;
- sign in button;
- Forgot password? link;
- sign up link;
- 2fa inputting;
- e-mail 2fa inputting;
- submit button.
2.3 Password recovery
Password recovery is available in 2 ways:
- by e-mail;
- be mnemonic phrase.
Conditions and Features:
- user can't send a password recovery email to an email that is not registered.
List of possible errors during registration:
- Email is not in the correct format;
- Email is not registered;
- Wrong backup or user not found;
- Words must contain at least 12 elements;
- Passwords should match;
- Passwords must contain at least 8 characters, 1 uppercase letter and 1 digit.
Feature set:
- Inputting email for password restore by email;
- Send password button;
- Reset password button;
- Inputting email for password restore by mnemonic phrase;
- New password field;
- Confirm New Password field;
- Mnemonic phrase field.
User scenario 1 - password recovery via email:
- The user opens recovery form via email;
- The user enters an email and clicks on the Send button;
- The user opens the link on the specified email
- The user enters a new password;
- The user logs into the system.
User scenario 2 - password recovery via mnemonic phrase:
- The user opens recovery form via mnemonic phrase;
- The user enters email;
- The user enters password;
- The user enters mnemonic phrase;
- The user click on the “Reset password” button;
- The user logs into the system.
3. Navigation by application
3.1 Header
Feature set:
- Collapse/expand sidebar;
- CPAY logo;
- Network switcher;
- Merchant switcher;
- Release notes list;
- User’s profile.
3.2 Home page
Feature set:
- Total balance in BTC and USD;
- Filter by currency:
- Hide zero balances ability;
- Currency name;
- Wallet address;
- Currency balance;
- Currency balance in USD.
- Checkouts page link;
- NFT page link with last 3 NFTs;
- Transactions block:
- Transaction type;
- Transaction date and time;
- Transaction status;
- Transaction sum;
- Payment ID - transaction identifier in CPAY;
- Name - customer's name;
- E-mail - customer's e-mail;
- To - wallet to which funds are sent;
- From - wallet from which funds are sent;
- Miner Fee in cryptocurrency and fiat currency;
- System Fee in cryptocurrency and fiat currency;
- clickId;
- Transaction hash;
- IncomingHash - transaction hash of replenishment of the merchant's client wallet;
- contract Address;
- method;
- arguments;
- Show multisend addresses.
- Search by address and hash;
- Transactions sorting by:
- newest on top;
- oldest on top;
- transaction type.
- Ability to upload a list of transactions.
3.3 Merchants page
Feature set:
- List of merchants:
- Merchant name;
- Type of network;
- Creation date;
- Button to merchant wallets page;
- Button to client wallets page;
- Account type.
- Merchant creation:
- Merchant name;
- Merchant currency;
- Miner Fee for withdrawal pays;
- Miner Fee for replenishment pays;
- Merchant fee for withdrawal;
- Merchant fee for replenishment;
- Fee’s documentation;
- Merchant network;
- Create button;
- Cancel button.
- Merchant editing:
- Payment methods;
- Miner Fee for withdrawal pays;
- Miner Fee for replenishment pays;
- Merchant fee for withdrawal;
- Merchant fee for replenishment;
- Fee’s documentation;
- Generate new API keys button;
- Public key;
- Private key;
- Merchant name;
- Merchant’s network;
- Callback Url.
Conditions and Features:
- The merchant page is only available for business accounts;
- Maximum available number of merchants - 5.
3.4 Wallets page
There are two types of wallets in the system: merchant wallets and client wallets. Merchant Wallet is a wallet that accepts funds from client wallets. Roughly speaking, this is the wallet of the business owner. Client Wallet is a wallet that is created when a customer pays for a product or service.
Feature set:
- List of wallets:
- Wallet address;
- Wallet balance;
- Wallet balance in USD;
- Wallet date of creation;
- Wallet status:default or secondary (secondary only for merchant wallet);
- Search by address;
- Currency filter;
- Newest on top and oldest on top.
- Wallet creation:
- New:
- Choose currency dropdown;
- Set as default checkbox.
- Existing:
- Choose currency dropdown;
- Private key radiobutton (only for merchant wallets);
- Private key field;
- Mnemonic phrase radiobutton;
- Mnemonic phrase field.
- New:
- Set as default (only for secondary merchant wallet);
- Replenish:
- Wallet address;
- QR-code.
- Show private key:
- 2FA inputting;
- Send button;
- Private key field;
- Done button.
- Show mnemonic phrase:
- 2FA inputting;
- Send button;
- Mnemonic phrase field;
- Done button.
- Delete:
- 2FA inputting;
- Delete button.
3.5 Checkouts page
Feature set:
- List of checkouts:
- Checkout image;
- Checkout name and description;
- Checkout type;
- Checkout price (for sale and sale token).
- Transactions (opens all transactions for specify checkout);
- Copy link;
- Duplicate checkout;
- Edit checkout;
- Delete checkout.
- Search by checkout name;
- Create checkout:
- Donation:
- Customer information (full name and email address);
- Next button;
- Back button;
- Organization name;
- Description;
- Payment methods;
- Expire time;
- Upload image;
- Specify image url;
- Create button;
- Checkout link;
- Embed;
- Click ID.
- Sell a product:
- Customer information (full name and email address);
- Next button;
- Back button;
- Product name;
- Description;
- Payment methods;
- Price;
- Fiat currency;
- Expire time;
- Upload image;
- Specify image url;
- Create button;
- Checkout link;
- Embed;
- Click ID.
- Sell currency:
- Product name;
- Description;
- Payment methods;
- Receive payment;
- Merchant wallet;
- min and max sum;
- MAX button;
- Fixed or market price;
- Add token button;
- Enter price field;
- Fiat currency;
- Expire time;
- Upload image;
- Specify image url;
- Specify image url;
- Create button;
- Checkout link;
- Embed;
- Click ID.
- Donation:
- Payment widget:
- Donation:
- Customer details (email address and customer name);
- Checkout name;
- Checkout description;
- Checkout image;
- List of currencies;
- Expire time;
- Back button;
- Link to cpay.world;
- Amount;
- Currency address;
- Slippage Tolerance;
- Minimum transaction amount;
- QR-code;
- Connect wallet;
- Amount (Success form);
- Exchange rate (Success form);
- Hash (Success form);
- New payment button;
- Language selection.
- Sale:
- Customer details (email address and customer name);
- Checkout name;
- Checkout description;
- Checkout image;
- Checkout price;
- List of currencies;
- Expire time;
- Back button;
- Link to cpay.world;
- Amount;
- Currency address;
- Slippage Tolerance;
- Minimum transaction amount;
- QR-code;
- Connect wallet;
- Amount (Success form);
- Exchange rate (Success form);
- Hash (Success form);
- New payment button;
- Language selection.
- Sale token:
- Checkout name;
- Checkout description;
- Checkout image;
- You send amount;
- You send currency;
- You get amount;
- You get currency;
- Min amount;
- Max amount;
- Recipient;
- Update rate button;
- Next button;
- Expire time;
- Confirm button;
- Customer details (email address and customer name);
- Amount;
- Currency address;
- Minimum transaction amount;
- QR-code;
- Connect wallet;
- Expire time;
- Statuses;
- You get (Success form);
- Recipient (Success form);
- Hash (Success form);
- Make an exchange button.
- Donation:
Conditions and Features:
- After expire time, a new payment widget is generated;
- If for sale token the user sent an amount less than in the Amount field, then he will receive the corresponding number of tokens, but not less than in the min amount field;
- If for the sale token the user sent an amount greater than in the Amount field, then he will receive the corresponding number of tokens, but not more than in the max amount field.
3.6 Withdraw page
Withdraw options:
- From wallet;
- Multisend.
Feature set from wallet:
- Total balance in BTC and USD;
- Filter by currency;
- Currencies balances;
- List of wallets;
- Wallets balance;
- Send button;
- Currency balance (Send money button);
- Amount (Send money button);
- Send to (Send money button);
- Exchange rate in USD;
- Amount+Miner Fee+System Fee field;
- Back button;
- Submit button;
- 2FA inputting.
Feature set from multisend:
- List of tokens;
- Wallet address;
- Addresses with Amounts;
- Upload file;
- Show examples;
- Next button;
- Total number of addresses;
- Total number of transactions need;
- Approximate costs of miner fee;
- Approximate costs of system fee;
- Total number of tokens to be sent (Allowance);
- Your token balance;
- Your currency balance;
- Back button;
- Confirm button;
- 2FA inputting.
3.7 NFTs page
Feature set:
- List of wallets;
- Transaction history;
- List of NFTs:
- NFT name;
- NFT image;
- NFT type;
- NFT balance.
- NFT transfer:
- NFT name;
- NFT image;
- Wallet address;
- Amount;
- Estimate button;
- Confirmation form:
- Address;
- Amount;
- Miner Fee;
- System Fee;
- Total Fee;
- Withdraw button.
3.8 Swap page
List of pages:
- Swap history;
- Create new swap;
- Summary.
Feature set for swap history page:
- Exchange Id;
- Date;
- Currency;
- Status;
- Partner;
- Type;
- From:
- Wallet;
- PaymentId;
- Amount;
- Hash.
- To:
- Wallet;
- PaymentId;
- Amount;
- Hash.
- Search by Exchange Id and wallet;
- Filter by currency;
- Storing from newest to oldest and vice versa;
- Create new swap.
Feature set for create new swap page:
- STEP 1. SELECT SWAP PAYER AND AMOUNT;
- You send amount;
- You send currency;
- Max button;
- You send currency balance;
- You get amount;
- You get currency;
- You get currency balance;
- STEP 2. SELECT WALLET;
- Change button;
- STEP 3. SELECT DESTINATION WALLET;
- Change button;
- View offers button;
- Update offers;
- Rate;
- ETA;
- Support rate;
- Partner;
- Trust Score;
- Sort by Rate and ETA;
- Filter by fixed and floating rate.
Feature set for Summary page:
- You send field;
- You get field;
- Exchange rate;
- Partner;
- Type;
- Swap button.
3.9 Profile page
Feature set:
- Language selection;
- Connect Metamask wallet;
- Disconnect metamask wallet;
- Log out;
- New email;
- First name;
- Last name;
- New password;
- Confirm new password;
- Submit button;
- Confirm E-mail;
- Send link button;
- Submit button;
- Enable e-mail 2FA button;
- Disable e-mail 2FA button;
- Enable 2FA button;
- QR-code;
- 2FA key;
- Authenticator Code;
- Cancel button;
- Start backup button;
- CLICK TO REVEAL SECRET WORDS field;
- Word 1,2…n field;
- Got it button;
- Do it later button;
- Done button.
3.10 Repeat guide
3.11 Pre-order Debit Card
3.12 Footer
Feature set:
- Products:
- Personal;
- Business;
- White label;
- Debit card;
- Swap tokens.
- Company:
- Contact us;
- Schedule call.
- Support:
- FAQ;
- Documentation.
- Become a partner:
- List your coin.
- Cases:
- How to accept crypto donations?;
- How to accept crypto payments?;
- How To Exchange P2P Crypto?.
- Links on social media;
- Privacy Policy;
- Terms of Service;
- Version number.