API documentation for the Helix-Pay API
Helix-Pay API (1.0.0)
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments
- Production serverhttps://api.helix-pay.net/v1/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.helix-pay.net/_mock/apis/external.gen/payments?limit=10&offset=0&status=pending' \
-H 'x-api-key: YOUR_API_KEY_HERE'{ "data": [ { … } ], "metadata": { "total": 0, "limit": 0, "offset": 0 } }
The URLs to redirect the user to after payment, depending on the payment status. If you want to process both statuses on the same page, you can use the same URL for both properties.
The ID of the wallet to which the payment will be sent. This is required for marketplace type flows.
Additional metadata for the payment. We will store this as part of the payment request and return it with every GET request for a specific payment.
The time after which the payment request will expire. This should be in ISO 8601 format. Defaults to 60 minutes after the payment request is created.
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments
- Production serverhttps://api.helix-pay.net/v1/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.helix-pay.net/_mock/apis/external.gen/payments \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"amount": 1000,
"currency": "EUR",
"description": "Payment for order #1989188",
"payment_method_code": "CARD",
"return_urls": {
"failure": "https://example.com/payments/failure",
"success": "https://example.com/payments/success"
}
}'Payment request created
The URL to redirect the user to for payment
The ID of the wallet to which the payment will be sent
The status of the payment request. This will always be "Created" for a newly created payment request.
The date and time the payment request was created
The date and time the payment request was last updated
The time after which the payment request will expire
{ "amount": 1000, "checkout_url": "https://checkout.helix-pay.net/checkout/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "created_at": "2025-01-16T00:00:00.00000Z", "currency": "EUR", "description": "Payment for order #1989188", "id": "pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "payment_method_code": "CARD", "payment_status_code": "CREATED", "return_urls": { "failure": "https://example.com/payments/failure", "success": "https://example.com/payments/success" }, "test_mode": false, "updated_at": "2025-01-16T00:00:00.00000Z" }
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments/{payment_id}
- Production serverhttps://api.helix-pay.net/v1/payments/{payment_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.helix-pay.net/_mock/apis/external.gen/payments/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9 \
-H 'x-api-key: YOUR_API_KEY_HERE'Successful response
The URL to redirect the user to for payment
The ID of the wallet to which the payment will be sent
The status of the payment request. This will always be "Created" for a newly created payment request.
The date and time the payment request was created
The date and time the payment request was last updated
The time after which the payment request will expire
{ "amount": 1000, "checkout_url": "https://checkout.helix-pay.net/checkout/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "created_at": "2025-01-16T00:00:00.00000Z", "currency": "EUR", "description": "Payment for order #1989188", "id": "pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "payment_method_code": "CARD", "payment_status_code": "CREATED", "return_urls": { "failure": "https://example.com/payments/failure", "success": "https://example.com/payments/success" }, "test_mode": false, "updated_at": "2025-01-16T00:00:00.00000Z" }
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments/{payment_id}
- Production serverhttps://api.helix-pay.net/v1/payments/{payment_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
https://docs.helix-pay.net/_mock/apis/external.gen/payments/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9 \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"description": "string",
"metadata": {}
}'Payment updated
The URL to redirect the user to for payment
The ID of the wallet to which the payment will be sent
The status of the payment request. This will always be "Created" for a newly created payment request.
The date and time the payment request was created
The date and time the payment request was last updated
The time after which the payment request will expire
{ "amount": 1000, "checkout_url": "https://checkout.helix-pay.net/checkout/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "created_at": "2025-01-16T00:00:00.00000Z", "currency": "EUR", "description": "Payment for order #1989188", "id": "pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9", "payment_method_code": "CARD", "payment_status_code": "CREATED", "return_urls": { "failure": "https://example.com/payments/failure", "success": "https://example.com/payments/success" }, "test_mode": false, "updated_at": "2025-01-16T00:00:00.00000Z" }
The reason for the refund
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments/{payment_id}/refund
- Production serverhttps://api.helix-pay.net/v1/payments/{payment_id}/refund
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.helix-pay.net/_mock/apis/external.gen/payments/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9/refund \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"amount": 1000,
"reason_code": "CUSTOMER_REQUESTED",
"other_reason": "Order Cancelled"
}'Refund request created
The URL to redirect the user to for payment
The ID of the wallet to which the payment will be sent
The status of the payment request. This will always be "Created" for a newly created payment request.
The date and time the payment request was created
The date and time the payment request was last updated
The time after which the payment request will expire
{ "id": "pay_7uAd21uizm5p1psa", "amount": 1099, "currency": "EUR", "description": "Payment for order #1234", "checkout_url": "https://checkout.helixpay.io/pay_7uAd21uizm5p1psa", "return_urls": { "success": "https://example.com/payment/success", "failure": "https://example.com/payment/failure" }, "destination_wallet_id": "wlt_7uAd21uizm5p1psa", "metadata": { "order_id": "1234", "customer_id": "5678" }, "payment_status_code": "CREATED", "payment_method_code": "card", "test_mode": false, "breakdown": { "fees": 0, "net_amount": 0 }, "refund": { "id": "rfd_123", "payment_id": "pay_123", "amount": 1000, "reason_code": "DUPLICATE", "other_reason": "Cancellation", "created_at": "2021-01-01T00:00:00Z", "status": "REFUND_REQUESTED", "updated_at": "2021-01-01T00:00:00Z" }, "billing_address": { "first_name": "John", "last_name": "Doe", "email": "string", "phone_number": "string", "address_line_1": "123 Main St", "address_line_2": "Apt 101", "city": "San Francisco", "state": "CA", "zip_code": "94107", "country_code": "US" }, "payment_config": { "collected_fields": "email,phone_number" }, "created_at": "2021-01-01T12:00:00Z", "updated_at": "2021-01-01T12:00:00Z", "expires_at": "2022-01-01T12:00:00Z", "completed_at": "2022-01-01T12:00:00Z" }
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/payments/{payment_id}/cancel
- Production serverhttps://api.helix-pay.net/v1/payments/{payment_id}/cancel
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.helix-pay.net/_mock/apis/external.gen/payments/pay_3bbb4fe7-4c25-45b2-a363-c8db8c0084b9/cancel \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"cancel_reason": "ABANDONED"
}'Payment cancelled successfully
The URL to redirect the user to for payment
The ID of the wallet to which the payment will be sent
The status of the payment request. This will always be "Created" for a newly created payment request.
The date and time the payment request was created
The date and time the payment request was last updated
The time after which the payment request will expire
{ "id": "pay_7uAd21uizm5p1psa", "amount": 1099, "currency": "EUR", "description": "Payment for order #1234", "checkout_url": "https://checkout.helixpay.io/pay_7uAd21uizm5p1psa", "return_urls": { "success": "https://example.com/payment/success", "failure": "https://example.com/payment/failure" }, "destination_wallet_id": "wlt_7uAd21uizm5p1psa", "metadata": { "order_id": "1234", "customer_id": "5678" }, "payment_status_code": "CREATED", "payment_method_code": "card", "test_mode": false, "breakdown": { "fees": 0, "net_amount": 0 }, "refund": { "id": "rfd_123", "payment_id": "pay_123", "amount": 1000, "reason_code": "DUPLICATE", "other_reason": "Cancellation", "created_at": "2021-01-01T00:00:00Z", "status": "REFUND_REQUESTED", "updated_at": "2021-01-01T00:00:00Z" }, "billing_address": { "first_name": "John", "last_name": "Doe", "email": "string", "phone_number": "string", "address_line_1": "123 Main St", "address_line_2": "Apt 101", "city": "San Francisco", "state": "CA", "zip_code": "94107", "country_code": "US" }, "payment_config": { "collected_fields": "email,phone_number" }, "created_at": "2021-01-01T12:00:00Z", "updated_at": "2021-01-01T12:00:00Z", "expires_at": "2022-01-01T12:00:00Z", "completed_at": "2022-01-01T12:00:00Z" }
- Mock serverhttps://docs.helix-pay.net/_mock/apis/external.gen/health
- Production serverhttps://api.helix-pay.net/v1/health
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.helix-pay.net/_mock/apis/external.gen/health \
-H 'x-api-key: YOUR_API_KEY_HERE'{ "message": "string" }