Developer Sandbox

Cash App provides a sandbox environment for developers to test integrations without moving money. This environment can be reached by using the sandbox.api.cash.app host.

This environment has a separate set of credentials from production.

The sandbox can be controlled through magic values (documented below) in order to produce certain behaviors. In other cases, API responses will represent successful actions when given valid requests.

We have a 5-year full backwards compatibilty guarantee that extends to our publicly documented Sandbox Magic Values listed on this page.

Magic Values

Create payment

FieldValueResultDescription
amount6670Connection ErrorThe payment will be created but the response will be an HTTP error. This simulates potential network failures.

The state of the payment can be retrieved using retrieve payment.

The request can also be voided through the void payment endpoint
amount7770Payment decline: compliance failureThe payment will be created in a declined state, with the reason PAYMENT_DECLINED_COMPLIANCE
amount7771Payment decline: insufficient fundsThe payment will be created in a declined state, with the reason PAYMENT_DECLINED_INSUFFICIENT_FUNDS
amount7772Payment decline: otherThe payment will be created in a declined state, with the reason PAYMENT_DECLINED_OTHER
amount7773Payment decline: riskThe payment will be created in a declined state, with the reason PAYMENT_DECLINED_RISK
amount7774Payment decline: too largeThe payment will be created in a declined state, with the reason PAYMENT_INVALID_TOO_LARGE
amount7775Payment decline: too smallThe payment will be created in a declined state, with the reason PAYMENT_INVALID_TOO_SMALL
merchant_idMMI_sandbox:disabledPayment creation failure: merchant is disabledThe payment will not be created, returning an error of MERCHANT_DISABLED.
merchant_idMMI_sandbox:pendingPayment creation failure: merchant is pendingThe payment will not be created, returning an error of MERCHANT_PENDING
merchant_idMMI_sandbox:missingPayment creation failure: merchant is missingThe payment will not be created, returning an error of MERCHANT_NOT_FOUND
grant_idGRG_sandbox:activePayment createdThe payment will be created.
grant_idGRG_sandbox:consumedPayment decline: grant errorThe payment will be created in a declined state, with the reason GRANT_CONSUMED
grant_idGRG_sandbox:expiredPayment decline: grant errorThe payment will be created in a declined state, with the reason GRANT_EXPIRED
grant_idGRG_sandbox:missingPayment decline: grant errorThe payment will be created in a declined state, with the reason GRANT_NOT_FOUND
grant_idGRG_sandbox:revokedPayment decline: grant errorThe payment will be created in a declined state, with the reason GRANT_REVOKED
amount8801Create dispute: CD10The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of CD10

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8802Create dispute: CD11The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of CD11

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8803Create dispute: CD12The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of CD12.

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8804Create dispute: CD13The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of CD13

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8811Create dispute: FR10The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of FR10

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8812Create dispute: FR11The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of FR11

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8821Create dispute: PE10The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of PE10

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8822Create dispute: PE11The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of PE11

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8823Create dispute: PE12The payment will be created along with a dispute that has a disputed amount equal to the transaction amount and a reason of PE12

The dispute can be queried through the List Disputes API two seconds after the payment is created.
amount8901Create dispute: differing disputed amountThe payment will be created along with a dispute that has a disputed amount different from the payment amount

The dispute can be queried through the List Disputes API two seconds after the payment is created.

Create refund

FieldValueResultDescription
amount6670Connection ErrorThe refund will be created but the response will be an HTTP error. This simulates potential network failures.

The state of the refund can be retrieved using retrieve refund.

The request can also be voided through the void refund endpoint
amount7770Refund decline: complianceThe refund will be created in a declined state, with the reason REFUND_DECLINED_COMPLIANCE
amount7772Refund decline: otherThe refund will be created in a declined state, with the reason REFUND_DECLINED_OTHER
amount7773Refund decline: riskThe refund will be created in a declined state, with the reason REFUND_DECLINED_RISK
amount7774Refund decline: too largeThe refund will be created in a declined state, with the reason REFUND_DECLINED_TOO_LARGE
amount7775Refund decline: too smallThe refund will be created in a declined state, with the reason REFUND_DECLINED_TOO_SMALL
amount
grant_idGRG_sandbox:consumedRefund failure: grant consumedThe refund will be created in a declined state, with the reason GRANT_CONSUMED
grant_idGRG_sandbox:expiredRefund failure: grant expiredThe refund will be created in a declined state, with the reason GRANT_EXPIRED
grant_idGRG_sandbox:missingRefund failure: grant missingThe refund will be created in a declined state, with the reason GRANT_NOT_FOUND
grant_idGRG_sandbox:revokedRefund failure: grant revokedThe refund will be created in a declined state, with the reason GRANT_REVOKED

Create file- or text- based dispute evidence

FieldValueResultDescription
metadata{"sandbox:set_dispute_state": "PROCESSING"}PROCESSINGDispute adjudicated: PROCESSING
metadata{"sandbox:set_dispute_state": "WON"}WONDispute adjudicated: WON
metadata{"sandbox:set_dispute_state": "PARTIALLY_WON"}PARTIALLY_WONDispute adjudicated: PARTIALLY_WON
metadata{"sandbox:set_dispute_state": "LOST"}LOSTDispute adjudicated: LOST

API Key (Signed) Requests

HeaderValueResultDescription
X-Signaturesandbox:skip-signature-checkvalid request signatureThe request will be treated as if it contains a valid signature.