Pending order

What is a Pending Order?

This feature allows the buyers to place an order against their business even when the business is in manual review. Once the order is placed against a buyer in the manual review state, both the buyer and the order are pending approval. Right after the buyer is approved, the order gets processed based on the credit limit assigned to the buyer.
If the buyer is rejected for credit, then the order is also rejected.

How does it work?

  1. Make sure Sprinque has activated the pending order feature toggle for your merchant (if not, please contact your account manager or [email protected]);
  2. The next step is to set the Pending order callback URL in the Merchant Control Centre (MCC);
  3. If the "Pending order" feature is disabled for you, and if you place an order for a buyer that is under review without the pending order feature you will see 422 status with an error:
    {
      "trace_id": "b855542d295b4287ad3cb31b412998c7",
      "error_code": "buyer-not-eligible-payment-terms",
      "errors": {
        "NonEligiblePaymentTermsError": [
          "This business is not eligible for the selected payment terms"
        ]
      }
    }
    
  4. After enabling the feature toggle the transactions/authorize call will succeed with status 201 and "PENDING" transaction status.
    "transaction_status": "PENDING",
    
  5. When the Sprinque team manually assesses the credit decision, together with the credit decision on the business level , you will receive a webhook call regarding the pending order.
  6. In case the business is approved and the pending order is placed as a regular order you will see a similar webhook payload:
    {
      "transaction_id": "txn_ZaM3w2jmQB2ry9bK",
      "order_id": "ord_2RLQ45aihk4NJpkI",
      "order_amount": 1200.50,
      "merchant_order_id": "your_order_id",
      "order_currency": "EUR",
      "available_credit_balance": 799.50,
      "payment_terms": "NET30",
      "shipping_address": {
        "address_line1": "Lela Path 99",
        "address_line2": "#221",
        "house_no": null,
        "street": null,
        "city": "Liza Spurs",
        "zip_code": "65568",
        "country": {
          "name": "Netherlands",
          "code": "NL"
        }
      },
      "transaction_status": "AUTHORIZED",
      "issued_by": "[email protected]",
      "metadata": {
        //...here we reflect metadata the business was created with
      },
      "trace_id": "a8649167e2a040f7a3614c048040e27a"
    }
    
  7. When the business is rejected for credit and the order was not placed the webhook will look like this:
    As you can see, the status of the transaction is marked as "CANCELLED".
    {
       "transaction_id":"txn_NJhXZVcrzluhtnVr",
       "order_id":"ord_5MWOFIZawz8H5wzr",
       "order_amount":1001,
       "merchant_order_id":"16-not-2023(2)",
       "order_currency":"EUR",
       "available_credit_balance":"0.00",
       "payment_terms":"NET30",
       "shipping_address":{
          "address_line1":"Lela Path 99",
          "address_line2":"#221",
          "house_no":null,
          "street":null,
          "city":"Liza Spurs",
          "zip_code":"65568",
          "country":{
             "name":"Netherlands",
             "code":"NL"
          }
       },
       "transaction_status":"CANCELLED",
       "issued_by":null,
       "metadata":{
          "additionalProp1":"string",
          "additionalProp2":"string",
          "additionalProp3":"string"
       },
       "trace_id":"9905d35272124784b140004b4688883b"
    }
    
  8. In the case of the buyer being approved for credit, but the amount is not sufficient to place the order, the webhook's payload will include:
    ...
    "transaction_status":"AUTH DECLINED",
    ...
    
  9. If there are 3 orders will be placed when the buyer is under manual review - then 3 webhooks will be sent after the manual review is done.
  10. Pending orders are reflected in the Orders tab of the Merchant Control Centre.