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.