Greetings, Good luck to the team and participants of the project !!!
Can you tell more about the technical process of the exchange ?
Through the STREAMDESK system you can buy and sell cryptocurrencies. The mechanism for purchase and sale is similar.
OAuth means open protocol of authorization. This allows granting limited access to user's protected resources to a third party without needing to transfer a login and password to the third party.
Using Yandex.Money's API for applications, we can obtain payment statuses from the Yandex.Money server and save users' data for future payments.
Under this scenario, payments may be accepted in two ways: from Yandex.Money wallet or from any bank card.
Request creation
1) A purchase or sale request is created on STREAMDESK.
2) The request may be created by unauthorized users; however, they will automatically go through an authorization process.
3) The following fields must be filled out for a purchase request: selecting the payment method, and entering the wallet number. If the user is not authorized, the application will show a registration form with the following parameters: name, telephone, e-mail, and an agreement for personal data processing.
4) After the request is created, the request obtains a BUY status and displayed on the STREAMDESK main page.
Request acceptance
1) Other users may accept the request as a Seller or Buyer depending on the request type.
2) The following fields must be filled out in the purchase request: selecting the listed payment method and entering the wallet number. If the user is not authorized, the application will show the registration form with the following parameters to the user: name, telephone, e-mail, and an agreement for personal data processing.
3) After the request is accepted, it obtains a PENDING CONFIRMATION status.
4) The Seller receives a notice that he/she may sell the cryptocurrency.
Confirmation and smart contract creation
1) Having obtained the notice, the Seller must confirm the request again.
2) After the request is confirmed, it obtains the PENDING SMART CONTRACT CREATION status.
3) The system checks parameters and availability of funds in the Seller’s account, and creates a smart contract. The cryptocurrency attached to the smart contract is written off from the Seller’s account. The request then obtains the PENDING PAYMENT status.
4) The cryptocurrency is locked in the smart contract (automatically according to its terms and conditions) until notice that the corresponding fiat money has been credited to the Seller’s account is verified. The request for the smart contract performance is then complete.
5) The smart contract request expires (this occurs when the current time exceeds the valid term of the smart contract, which is three hours).
6) After the request obtains the PENDING PAYMENT status, the Buyer receives a notice with a payment link.
Payment
1) Payment may be made through Yandex.Money, PayPal, Qiwi or other services. (depending on what the user selected).
2) The STREAMDESK application works with payment services through the HTTPS safe protocol.
3) The STREAMDESK application requests for a right to make a one-time payment to the Seller’s wallet.
3.1) The Buyer logs into the payment service server through OAuth2 secure protocol and authorizes the one-time payment of the amount specified in the request.
3.2) OAuth2 protocol makes the authorization secure and convenient.
4) For transfer of funds, the payment service may charge a commission. The commission is calculated and indicated when the request is created.
5) After the payment authorization is obtained, the STREAMDESK application tries to make the payment.
5.1) If the payment service prohibits the payment, the user receives a proposal to authorize the payment again.
5.2) In case of repeated rejection of payments, the STREAMDESK application assigns a CANCELLED status to the request.
Smart Contract Performance
If the payment is successful (the payment service will indicate a successful transfer of funds), the STREAMDESK application performs the smart contract and assigns the FULFILLED status to the request. The cryptocurrency is then transferred to the Buyer’s account.