> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.ordergroove.com/docs/developer-fundamentals/platform-overview/customer-and-payment-updates/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.ordergroove.com/_mcp/server. # Customer and Payment Updates ## Customer Contact Details Update When a customer changes their email address associated with their account, Ordergroove needs to be notified of this change. This notification is sent via a PATCH request to the set contact details endpoint. **Destination** Staging: [https://staging.restapi.ordergroove.com/customers/\{merchant\_user\_id}/set\_contact\_details](https://staging.restapi.ordergroove.com/customers/\{merchant_user_id}/set_contact_details)\ Production: [https://restapi.ordergroove.com/customers/\{merchant\_user\_id}/set\_contact\_details](https://restapi.ordergroove.com/customers/\{merchant_user_id}/set_contact_details) **`Header`** ```text title="Header" headers = { 'authorization': '{"public_id": "", "ts": , "sig_field": "", "sig": ""}', 'content-type': 'application/json' } ``` **`Request Body`** ```json title="Request Body" { "email": "", "merchant": "", "merchant_user_id": "", "phone_number": "" } ``` --- ## Customer Contact Details Responses **Success Response** If a successful connection is made, the request will always result in a secure HTTP response object with code 200 and a JSON payload ```json { "phone_number": "", "email": "" } ``` **Error Responses** In the event of an error with the request, one of the following error codes may be returned with the corresponding JSON payload **`400`** ```json title="400" { "[field_name]": "field_name error detail" } ``` **`403`** ```json title="403" { "detail": "Authentication Failed" } ``` **`404`** ```json title="404" { "detail": "Unable to find requested asset." } ``` --- ## Customer Payment Update When a customer changes their default payment for subscriptions within their account wallet, Ordergroove needs to be notified of this change. This notification is sent via a POST request to the update payment default endpoint. **Destination**: Staging: [https://staging.v2.ordergroove.com/customer/update\_payment\_default](https://staging.v2.ordergroove.com/customer/update_payment_default)\ Production: [https://api.ordergroove.com/customer/update\_payment\_default](https://api.ordergroove.com/customer/update_payment_default) > **URL Encode Individual Fields** > > Each field needs to be URL encoded (special characters such as & will otherwise break the update request), not just the encrypted fields. The entire post should not be URL encoded, just the fields individually. **`Request`** ```jsonc Request update_request={ "merchant_id": "", "user": { "user_id": "", "ts": "", // timestamp is seconds since epoch "sig": "" // Hmac signature based on user id and timestamp | Url encoded }, "payment": { "label": "