PeptidesPayment Docs
Custom APIOrders

Report fulfillment for a custom-API order

POST/orders/{orderId}/fulfillment

Merchants call this when goods ship, to report tracking for an order. Accepts every order source except Shopify (custom_api, payment_container, WooCommerce, …); Shopify orders return 400 because their fulfillment syncs from Shopify. A fulfilled or partially_fulfilled status marks the order payout-eligible.

Authorization

Path Parameters

orderId*string

Unique order identifier

Header Parameters

x-merchant-id*string

Your merchant id, supplied by PeptidesPayment at integration time.

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/orders/string/fulfillment" \  -H "x-merchant-id: string" \  -H "Content-Type: application/json" \  -d '{    "status": "fulfilled",    "tracking_number": "AR-1234567890",    "carrier": "aramex",    "tracking_url": "https://www.aramex.com/track/results?Tracking_Number=AR-1234567890",    "fulfilled_at": "2026-04-26T10:30:00Z"  }'
{  "success": true,  "order_id": "string",  "fulfillment_status": "fulfilled",  "payout_eligible": true,  "tracking_number": "string"}

Create a cart from your storefront payload POST

Creates a cart from a fully computed payload for your custom storefront. All monetary values must be sent as integer minor units (cents for 2-decimal currencies, fils for KWD, BHD, OMR, JOD, and TND). See the Custom store guide for the full field contract.

Get the sales-tax / VAT rate for a ship-to address POST

Returns the **tax rate** (a fraction, e.g. `0.07` = 7%) for a ship-to address, computed with our own engine - the same combined state + county + city + district rate (statutory VAT outside the US) that the post-payment verifier uses. **How to use it** 1. Send the buyer's `shipping_address` (address only - no items or amounts). 2. We return `tax_rate`. 3. Compute `tax = round(tax_rate × taxable_base)`, where the base is the items subtotal (net of discounts) **+** shipping, only where the destination taxes freight. 4. Display the computed tax to the buyer as its own labeled line item (for example "Tax" or "VAT") in the checkout totals before payment - do not fold it silently into the grand total. The buyer must be able to see the amount they are being charged as tax. 5. Charge the buyer, then send that same tax back on the order in `merchant_supplied_totals.tax_cents`. Because the quote and the post-payment verification run the **same engine**, charging this number means **no tax-shortfall correction** is applied to your payout. A tax-free destination returns `tax_rate: 0` - collect no tax. `override_enabled` tells you whether PeptidesPayment expects to apply this tax for you: `false` means your store is configured to compute its own tax, so leave your own tax in place and ignore `tax_rate`. It is `true` for every other store (including tax-free destinations, where `tax_rate` is `0`).