TABLE OF CONTENTS

One-click Payments

    One-click - allows a user to perform payments without entering credit card details. 

    It is a good practice to make sure the payment experience for your customer is frictionless. With the One-click feature, you save (tokenize) customer’s card payment details the first time they do the payment. Next time they want to make another payment, all they need to do is choose their saved card then click pay, without re-entering their card details anymore.


 For a user, it can look like this: 



    User can select a card with which he wants to perform a recurring payment or enter the details for a new credit card. 


    One-click payments can increase the conversion during recurring purchases from the same user. 

Example of the sell on post-transaction via one-click: 

  1. User orders a service X for 9.99 USD 
  2. The user performs the first successful payment, and you receive a card token.
  3. Instead of a message about the successful purchase, you will show the user a payment form on the next screen with the offer to buy a related service Y for 14.99 USD.
  4. To buy, the user only needs to push one button.
  5. By pressing the button, you will initiate a payment with the token of the card - recurring. 
  6. After that, both services X and Y can be set into regular payments and charged according to the defined schedule. 

One-click Payments flow

  1.  Recurring payments are possible only after the first successful payment by a user: 
      1. by Charge
      2. by Auth (hold an amount on the user card);
  2. To perform a recurring payment, you need to send a Card Token from the successful payment.  The Card Token can be received: 
      1. By performing the status request for an order;
      2. In notifications after successful payment.
  3. Display the successful and unsuccessful payments during recurring payments. It is also a good practice to inform the user of the status of his/her payments via e-mail/other communication channels. 


Subscription Payments


    Subscription - allows performing payments without the user's involvement (example of such recurring payments - subscription for music streaming services like AppleMusic or Spotify). 


Subscription payments flow

  1.  Subscription payments are possible only after the first successful payment by a user: 
      1. by Charge
      2. by Auth (hold an amount on the user card);
  2. To perform a recurring payment, you need to send a Card Token from the successful payment.  The Card Token can be received: 
      1. By performing the status request for an order;
      2. In notifications after successful payment.
  3. Display the successful and unsuccessful payments during recurring payments. It is also a good practice to inform the user of the status of his/her payments via e-mail/other communication channels. 


Grace period and retry payments 


    A good practice for implementing the subscription model will be to provide a grace period during which you can retry the recurring payment. It will allow you to get back up to 30% of unsuccessful recurring payments. 


Example: At the moment of renewal of the subscription, the user lacks the requested sum on the card. The recurring transaction ended with decline error 3.02 Insufficient funds. A week passed, and the user replenished the balance of his card. During a second attempt, the charge of a required sum was successful, and the user's subscription was renewed. 


Example of a schedule for retry payments during the grace period: 

  • Next-Day - on the next day after an unsuccessful recurring payment 
  • Next Friday - next Friday 
  • After 15 days from the day of unsuccessful recurring payment 
  • After 30 days from the day of unsuccessful recurring payment 


    During work with retry payment, you need to send a number of retry payment attempts (retry_attempt - it is required for analytics). It will help to evaluate the conversion of N-th attempt to add a recurring payment. 


    During work with the subscription model, it is required to offer the user the option to cancel his subscription. 


    Another crucial thing is to pay attention to the declined payments. 


    During unsuccessful payments, in case of the following declines, we recommend stopping working with the respective token: 

                                                                                                           
Decline Code Description
0.02Order expired
4.01 

The card is in a black list             

4.02            Stolen card                
4.04Lost card                    
4.07Trusted antifraud system              
7.01Card token not found                   
        

    


Resign One-click


    Resign 1-click allows you to perform transactions via token (1-click payments) but also requesting a CVV from the user to additionally verify the transaction.


Resign 1-click payments flow

  1. Resign payments are possible only after the first successful payment by the user. 

      1. by Charge
      2. by Auth (hold an amount on the user card);
  2.  To perform a resign payment you need to send a transaction token on which a successful payment was performed + CVV2 of the card on which successful payment was performed. The Card Token can be received: 
      1. By performing the status request for an order;
      2. In notifications after successful payment.
  3. Display the successful and unsuccessful payments during recurring payments. It is also a good practice to inform the user of the status of his/her payments via e-mail/other communication channels. 


    Resign method allows to perform payments via token, as first payment (without asking all the card details) and if necessary to send payments for 3DS - in some countries for one-click payments it's not supported by issuing banks. Also, good practice will be to send payments via resign after several recurring payments (4-5 payments), to play it safe. 


    To perform payments after a successful resign operation, you need to use a new token. You can receive the new token via the status request for the order on which successful resign was performed. 


New token can be displayed in the transactions:  <transaction_id>:card:card_token:token object. 

Old token will be displayed in the transactions: <transaction_id>:card_token:token object.