Payments error: amount_money supplied was malformed

My env is Square Sandbox and I use square in-app payments SDK to create a nonce which I send to the backend and try to create a Payment for a specific order.

My total amount in CreatePayment request is the same as in the response to CalculateOrder price. But Square returns an error: “amount_money supplied was malformed”

Also, I tried as a source_id parameter use “cnon:card-nonce-ok” but it returns the same error.

I think there is a lack of docs description, can you help me to solve the problem?

:wave: 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:

Additional Documentation

Cash App Payments

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.

The error message “amount_money supplied was malformed” typically indicates that the amount or currency format provided in the CreatePayment request is incorrect.

In the Money object, the amount field should indicate the amount in the base unit of the currency. For example, if you’re using USD, the amount should be in cents. Also, ensure that the amount value is specified as a positive integer.

If you’re using a test payment token like “cnon:card-nonce-ok”, make sure you’re making the CreatePayment call against your Square Sandbox environment (

If you continue to experience issues, double-check your request structure and the values you’re passing, especially within the amount_money field.

This answer was reviewed by @Bryan-Square.