Skip to main content

Payment flow

The Hero API is concepted to be simple, efficient and secure.

Définitions​

Before reading the explanations of our payment flow it's important to have some definitions in mind:

  • Customer: your clients
  • Payment Type: the way customers will pay hero. For our Processing Solution, it can only be in 1 installment, instantly.

Explanations​

Here is a scheme of our payment flow : Payment Flow

Step 1-a: CreatePayment Request​

When the customer chooses to pay with Hero on your Checkout, your back-end should request to createPayment.

At this step you should give some information like a redirection URI. The customer will be redirected to this URI when his payment is confirmed.

Security

For security reasons we check the value of the redirect URI. For instance, a request including URI ending with .localhost will be blocked. Use a non-suspect Redirect URI 😇

Step 1-b: Give back the Payment ID​

Hero will give you the payment id (start with payment_id), please save it, you will need it.

Step 2: Redirect to payment page using Payment ID​

Now you have the Payment ID, you can redirect customer on this uri:

  • Production: https://pay.heropay.eu/checkout/{payment_id}
  • Staging: https://staging.pay.heropay.eu/checkout/{payment_id}

Your customer is now paying via Hero!

If you want to test our payment flow on staging, use the following card informations :

card number : 4010061700000021
expiration : 12/26
CVV : 123

Step 3: Payment​

Your customer pays on our payment page. His card information are securely processed.

Step 4: Redirection​

Your customer finalized the payment, he is redirected to your Redirect Uri in order to validate his order on your website.

Step 5-a : Call the getPaymentsInfos​

You can check the payment's information to know whether a payment has been initiated or not, and to know whether some amount has been or is in the process of being refunded.

Call getPaymentsInfos endpoint with the matching payment_id and then:

Step 5-b : Check the Payments' informations​

Our back-end give you the relevant informations for this payment :

  • If the payment is initiated, it means that the customer paid
  • If there is an error, inform the customer that the payment cannot be finalized and contact our support at support@hero.fr for more information . The payment hasn't been finalized and the customer should try to pay again.