Errors
The Scalapay API uses standard HTTP status codes to indicate the result of requests. In case of an error, a response is returned in JSON format with detailed information.
HTTP Status Codes
Codice | Description |
2XX | The request was successful. |
4XX | The request is invalid (e.g., missing mandatory parameters or incorrect data). |
5XX | Unexpected Scalapay server-side error. |
Structure of Error Response
Error responses contain useful information for diagnosing problems. Although the message in readable format may change over time, it is recommended to rely on the error code and HTTP status code for error handling.
Attributo | Tipo | Descrizione |
| string | Error identification code (e.g. |
| string | Unique identifier of the error. |
| string | Readable description of the error. Could be updated, don't use it for application logic. |
| integer | HTTP status code associated with the error. |
Test Order Flow
How to place a test order with Scalapay
Choose a product with an amount less than the maximum allowed.
Fill out cart information with dummy information.
Select Scalapay as the payment method at checkout.
Log in to Scalapay with a test user (the same one used in the customer portal, or create a new one).
Enter your test card information (see below) to complete your order.
Verify that you have been correctly redirected to your site's confirmation page.
Carte di Test
Cards for Testing with Positive Results
5200 8282 8282 8210
5555 5555 5555 4444
4242 4242 4242 4242
Cards for Test with Negative Results
4000 0000 0000 0341
4000 0000 0000 0002
4000 0000 0000 9995
For all:
CVV: any code (e.g., 123)
Expiration date : any future date
ZIP code: any valid ZIP code
The cards shown are all working, you can try them alternately.
Order Status
Each order has two types of status: Order Status and Capture Status.
Order Status
Status | Description |
| The order has been created but not yet authorized by the customer. It remains in this state for 40 minutes if not completed. |
| The order has expired without authorization from the customer. |
| The order expired but had been authorized. The capture was not made. |
| The order was captured correctly. |
| The order was partially refunded. |
| The full amount of the order was refunded. |
Capture Status
Status | Description |
| The order has not yet been captured. |
| The order was captured correctly. |
| Capture was delayed (default: 5 days). |
| The order was cancelled before capture. |
You can download a file with the combination of statuses from this link:[Order Status and Capture Status.pdf].
Viewing Orders in the Seller Portal
In the Orders section of the seller portal, orders are displayed with the following statuses:
Paid (charged) - Order successfully finalized
Authorized - Only temporarily visible; if completed it changes to "Paid", otherwise it expires and no longer appears
Refunded / Partially Refunded - Refunded orders, with details of the amount
Please note: Orders in refunded_not_charged
and expired
status are not shown in the backend.
Expired orders do not indicate technical errors, but simply abandoned or rejected orders from the customer's bank. For privacy reasons, Scalapay cannot provide the reasons for rejection.
Refunded_not_Charged orders, on the other hand, are due to technical problems.
Checks in case of Refunded_not_Charged
Custom Integration:
Verifies that the implemented flow is correct.
See the official documentation at this link: [Documentation link].
Check that the Order Capture call is present and executed at the right time: when the order is in the
authorized
state (verifiable withGET ORDER
or via Webhook).If you use the Delay call , check that the field
authorizationExpiryMilliseconds
is filled this way
{ "authorizationExpiryMilliseconds":
432000000 }
Integration via Plugin:
Check that the plugin version is up to date: [Link Changelog].
Check that in the plugin the
Order Status: Payment Complete
field is set correctly as per the documentation. If changed, the flow may not complete.Choose your platform at this link: [Documentation] to check the screens and correct values.
Integration via Shopify:
Check out this documentation link: [Shopify Documentation] to check the settings or configure delayed capture correctly .