Foldd provides a collection of APIs that enable you to process and manage payments. Our APIs accept and return JSON in the HTTP body and return standard HTTP response codes. You can consume the APIs directly using your favorite HTTP/REST library.
Explore the versatile payments endpoint, through multiple test scenarios
Process refunds for completed payments using our API
Save customer payment methods securely for future transactions
We have a testing environment referred to ,โ which you can set up to test API calls without affecting production data. You can sign up on our Dashboard to get API keys to access Foldd API.
Use the following base URLs when making requests to the APIs:
Environment | Base URL |
---|---|
Sandbox | https://sandbox.foldd.com |
Production | https://api.foldd.com |
Foldd authenticates your API requests using your accountโs API keys. Each account has two API keys for authentication:
Key | Example | When to Use |
---|---|---|
Secret key (API-key) | snd_c69*** | Used to authenticate API requests from your merchant server. Donโt expose this key on a website or embed it in a mobile application. |
Publishable key | pk_snd_3b3*** | Used to authenticate API requests from your appโs client. Can be publicly-accessible in your web or mobile appโs client-side code. |
Get your API key and Publishable Key
Foldd handles the complex functionality of a comprehensive payments flow through the Payments object that transitions through multiple states during its payments lifecycle. Given below are the various statuses a payment can have:
Payment Status | Description |
---|---|
requires_payment_method | Once you create a payment through payments/create endpoint with no payment method attached to it, the payments object transitions to โrequires_payment_methodโ. |
requires_confirmation | After attaching a payment method through payments/update endpoint, the payments object requires you to confirm the payment. |
requires_customer_action | Once the payment is confirmed through payments/confirm endpoint, if additional authentication is required, the payments object transitions to this state. |
requires_capture | If you want to do separate authorize and capture, setting capture field to โmanualโ during payments/create or confirm call will transition the payment object to this state after customer action succeeds. |
processing | In case of automatic capture, the payments object transitions to processing state post confirm call and subsequent customer authentication if available. |
succeeded | The payments object reaches success state post confirmation of successful processing from the payment processor. |
failed | The payments object transitions to a failed state when the payment processor confirms the processing failure. |
expired | You can expire the payments object while it is in any state except when it is under โprocessingโ or โsucceededโ state. |
This is what a url looks like after redirection
https://app.foldd.com?status=succeeded&payment_intent_client_secret=pay_NCv9vc19f8aa75OpFxH8_secret_V4zAc7V0C8WAw6FECMKM&amount=10000&manual_retry_allowed=false&signature=4fae0cfa775e4551db9356563d4b98b55662fe3c1c945fe215d90ccf3541282c535909ae901d82174d6b1e46ba1684aa0aa4c8861be0e2a9ef6f950a975d5014&signature_algorithm=HMAC-SHA512
The available parameters are as follows:
succeeded
, processing
and failed
.payment_response_hash_key
.