A PaymentIntent enables a merchant to collect a payment from their customer.
It is recommended to create one PaymentIntent for each customer order.

A PaymentIntent transitions through multiple states throughout its lifetime.

Creating a PaymentIntent

The Create PaymentIntent endpoint allows the merchant to specify the amount and currency, customer identifiers, redirect URLs, and a few more optional properties.
All of the properties for creating a PaymentIntent and their description are provided in the Create PaymentIntent part of documentation.

This endpoint is protected and offered only to merchants that have the right credentials.
Please check the Authentication part for more details.

Response

Upon a successful creation of a PaymentIntent you will receive the id of a PaymentIntent and the paymentWindowUrl parameters in the response body.

Coinify provides a hosted checkout user interface to enable the customer to make a payment regarding a specific PaymentIntent. Use the GET HTTP verb and redirect the customer to the paymentWindowUrl which was received in the successful response.

To learn about all the available responses and parameters they return, again, check the Create PaymentIntent page.

Reading a PaymentIntent

Everyone can use the Read PaymentIntent endpoint and read the details of a PaymentIntent by passing its ID.

Response

The successful response of this endpoint returns the Payment Intent Resource.

📘

Note

As a merchant, you will interact with this endpoint only if you wish to build your own checkout user interface.

Completing a PaymentIntent

Once the customer has paid and Conify considers this payment confirmed on the respective blockchain, a callback is sent to the merchant system.

Coinify uses Webhooks to facilitate this functionality.
A detailed explanation for the context of this event is provided in the PaymentIntent Completed event reference together with more details on the general structure in the Webhooks guide.

🚧

Important

Validate the webhook notification signature before accepting the payload in your system.

Conclusion

The flow starts with a merchant system creating a PaymentIntent for a customer order and redirecting the customer to the Coinify hosted checkout user interface.

The customer sends the amount to the address provided by Coinify and once the transaction is confirmed, the merchant system receives a notification.

The merchant system validates the signature sent as a request header and accepts or rejects the notification.
When the notification is accepted, the merchant is able to perform the next steps such as sending the product to the customer.