Scenario definition: Store1 has a terminal device. Using the customer API one or more customers have been created for Store1. Customer-A, existing customer create via the API, makes a purchase and pays with a card at the terminal.
How can the payment be associated with payment made at the terminal?
I see in the payment API documentation that a customer_id value can be sent with the payment but I don’t know how that gets linked to the payment when using a terminal device. If the link cannot be done when a terminal device is used is the a workflow that would support this association when using the POS for iPad? If possible I would like to know how the association could be done using both devices.
The end goal is to subscribe to a payment web hook and capture the customers purchase.
I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:
If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.
To associate a payment made at a Square Terminal with a customer, you can follow these steps:
Terminal API and Customer Association: When using the Terminal API, you can associate a customer with a payment by including the customer_id in the CreateTerminalCheckout request. This way, when the payment is processed, it will be linked to the specified customer profile.
Point of Sale API and Customer Association: For payments made using the Square Point of Sale (POS) application on devices like an iPad, direct association of a customer with a payment at the time of transaction isn’t supported through the API. However, you can manually associate a customer with a payment after the transaction by retrieving the payment details using the Payments API and updating the customer profile accordingly.
Post-Transaction Association: After a payment is completed, you can use the GetPayment endpoint of the Payments API to retrieve the payment details. If the payment was made using the Terminal API and included a customer_id, this information will be part of the payment object. For POS transactions, you might need to manually associate the payment with a customer by updating the customer profile with the payment details.
Webhooks: To capture customer purchases, you can subscribe to payment webhooks. When a payment is completed, the webhook will notify your application, and you can use the payment details to update the customer’s purchase history in your system.
By using these methods, you can effectively associate payments with customer profiles, whether the payment is made through a Terminal device or the POS application on an iPad.
If the customer exists in the Square production environment can that customer be associated with the payment prior to the transaction when using a terminal or POS device?