Mobiance, Iran Loyalty Token

Blockchain wallet payment process and its challenges

  • July 6, 2021
blockchain wallet payment process

Payment processing encompasses the steps spenders and receivers perform to make and accept payments in exchange for products or services.
The basic steps have not changed since the dawn of commerce.
But the technology has changed because of rising blockchain wallet payment process.
Blockchain technology promises to facilitate fast, secure, low-cost international blockchain wallet payment processing services (and other transactions) through the use of encrypted distributed ledgers that provide trusted real-time verification of transactions without the need for intermediaries such as correspondent banks and clearing .

A unique address is generated each time the user makes a request. Users can also send cryptocurrency or ether when someone provides them with a unique address. The send-and-receive processin blockchain wallet payment process is similar to sending or receiving funds through PayPal but uses cryptocurrency.

For examples, we will explain how receivers and spenders can respectively request and make payments using Bitcoin—and how they can deal with complications such as refunds and recurrent rebilling.

Bitcoin Payment Processing

The figure above illustrates blockchain wallet payment process using Bitcoin from a receiver’s perspective, starting with a new order. The following subsections will each address the three common steps and the three occasional or optional steps. Third party APIs and services can solve each of these steps with outsourcing.

Issuing Refunds in blockchain wallet payment process

Occasionally receivers using your applications will need to issue refunds. The obvious way to do that, which is very unsafe, is simply to return the satoshis to the pubkey script from which they came. For example:

  • Alice wants to buy a widget from Bob, so Bob gives Alice a price and Bitcoin address.
  • Alice opens her wallet program and sends some satoshis to that address. Her wallet program automatically chooses to spend those satoshis from one of its unspent outputs, an output corresponding to the Bitcoin address mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN.
  • Bob discovers Alice paid too many satoshis. Being an honest fellow, Bob refunds the extra satoshis to the mjSk… address.

This seems like it should work, but Alice is using a centralized multi-user web wallet which doesn’t give unique addresses to each user, so it has no way to know that Bob’s refund is meant for Alice. Now the refund is a unintentional donation to the company behind the centralized wallet, unless Alice opens a support ticket and proves those satoshis belong to her.

This leaves receivers only two correct ways to issue refunds:

  • If spender copy-and-pasted an address or a basic “bitcoin:”.
    So spender used URI and contact the spender directly and ask them to provide a refund address.
  • If spender used the payment protocol.
    So send the refund to the output listed in the refund_to field of the Payment message.

Note: it is wiser to contact spender directly if refund is an important issue a long time after original payment. This allows you to ensure the user still has access to the key or keys for the refund_to address.

Rebilling Recurring Payments in blockchain wallet payment process

blockchain wallet

Automated recurring payments are not possible with decentralized Bitcoin wallets.
Even if a wallet supported automatically sending non-reversible payments on a regular schedule, the user would still need to start the program at the appointed time, or leave it running all the time unprotected by encryption.

This means automated recurring Bitcoin payments can only be made from a centralized server which handles satoshis on behalf of its spenders.
In practice, receivers who want to set prices in fiat terms must also let the same centralized server choose the appropriate exchange rate.

Non-automated rebilling can be managed by the same mechanism used before credit-card recurring payments became common: contact the spender and ask them to pay again—for example, by sending them a PaymentRequest “bitcoin:” URI in an HTML email.

In the future, the payment protocol’s extensions and new wallet features may allow some wallet programs to manage a list of recurring transactions.
The spender will still need to start the program on a regular basis and authorize payment.
But it should be easier and more secure for the spender than clicking an emailed invoice, increasing the chance receivers get paid on time.

Bitcoin for B2B payments

Bitcoin for B2B payments would be a massive solution to KYC’s problems, contracts and currency conversion for international payments specially.
If a company needs to get paid anywhere in the world, it is a rather difficult process.
Because it is depending on the size of the market and the strength of the currency in question.
So businesses lose millions of dollars in fees and conversion unnecessarily.

With mass bitcoin for B2B payments adoption, KYC would be minimized.
Because all of the process would be as simple as accessing a blockchain based KYC system connecting with IBAN’s company.
Contract would be in the blockchain eliminating laborious checks and mailing.
In a way, the money would not take days to be compensated back to the home country account.
So, it would be available instantly which reduces risk and the need for factoring.