Overview

Time to complete: < 10 minutes

This guide walks you through the basic steps to create an API key and process a simulated payment using Push. To learn how to build a complete integration, head over to the Integration Guide.

1. Create an API key

In order to securely access the API, you must first exchange a temporary code for a durable API key. You can request your temporary code in the dedicated slack channel setup for your organization or by reaching out to hello@pushcash.com.

Once you have received your code, exchange it for an API key by making a request to the keys/exchange endpoint.

$ curl --request POST \
	--url https://sandbox.pushcash.com/keys/exchange \
	--data '{"code": "TEMPORARY_CODE"}'

The response should contain your API key which you can use to authenticate your requests to the Push API.

Your API key is: ...

Then, export your API key as an environment variable in your terminal

Finally, verify that your API key is set correctly by making a request to the keys/verify endpoint.

curl --request POST \
	--url https://sandbox.pushcash.com/keys/verify \
 	--header 'Authorization: Bearer '$PUSH_API_KEY

The API will respond with a status code of 200 (OK) and the name of your organization

2. Process a payment

In order to process a payment, you need to register a user.

curl --request POST \
	--url https://sandbox.pushcash.com/user \
 	--header 'Authorization: Bearer '$PUSH_API_KEY \
	--header 'X-Idempotency-Key: 1234' \
	--data '{
		"name": {
			"first": "Alfred",
			"last": "Hitchcock"
		},
		"email": "alfred@imdb.com",
		"address": {
			"address_line_1": "1609 10th Ave",
			"locality": "Bodega Bay",
			"administrative_area": "CA",
			"postal_code": "94923",
			"country": "US"
		},
		"date_of_birth": "1899-08-13",
		"government_id": {
			"type": "passport",
			"last4": "7349"
		},
		"phone_number": "(555) 681-3485",
		"tag": "4c8e6b4f",
		"identity_verified": true
	}'

The response contains the ID for your registered user.

{"id": "user_lVpbPL0K1XIiHx0DxipRbD"}

Now you can submit a request to create a payment intent, replacing “Your user ID” with the id from the previous step.

curl --request POST \
	--url https://sandbox.pushcash.com/intent \
 	--header 'Authorization: Bearer '$PUSH_API_KEY \
	--data '{
		"user_id": "Your user ID",
		"amount": 1500,
		"direction": "cash_in",
		"currency": "USD",
		"redirect_url": "https://docs.pushcash.com/quickstart#redirect"
	}' | sed -n 's/.*"url":"\([^"]*\)".*/\1/p' | xargs open

Running the command will open the URL for the payment session in your browser. You should see something like

Enter the test card information for sandbox

FieldValue
Number5555 5555 5555 4444
ExpAny future date (e.g. 12-34)
CVVAny value

Click “Deposit” to confirm the payment and display the payment confirmation pane. You should see something like

Finally, click “Back to …” to return here.

Congratulations on completing the quickstart 🎉    To learn how to build a complete integration to the Push platform, head over to the Integration Guide.