- Retail stores offering same-day pickup
- Grocery orders for curbside pickup
- Restaurant orders for takeout
- Click-and-collect services
Integrate server side
Add the following endpoints to your existing server file from the quick start integration.Test endpoints
- Create an authorization.
Endpoint:
/v2/checkout/orders/{id}/authorize- Capture payment at pickup.
Best practices
- Set clear pickup timeframes: Communicate pickup windows. Typical holds: 7 days for retail, 24 hours for restaurants or groceries. Balance customer convenience with inventory management. Automatically void expired authorizations.
- Implement pickup verification: Require order number and pickup code. Capture payment only after verifying the customer.
- Handle partial pickups: If part of the order is collected, capture the partial amount and void the remainder.
- Train store staff: Ensure staff know when to trigger capture and how to handle pickup exceptions.
- Monitor unclaimed orders: Track unclaimed orders and void authorizations promptly to release funds.
Important details
- Capture only after pickup verification: Do not capture payment before verifying the customer has received their items. This protects both you and the customer from fraud.
- Add items at pickup: If customers want to add items at pickup, process additional items as a separate transaction at the store.
- Handle partial pickups: If only part of an order is available, capture only the amount for available items and void the remaining authorization.
- Notification timing: Email customers when orders are ready for pickup, but only capture payment after pickup. The authorization secures payment while the order waits.
- Identity verification methods: Verify customer identity through order number, pickup code, photo ID, or app confirmation before capturing. Works the same for in-store, curbside, or drive-up pickup.
Test your integration
Before testing pickup flows, authorize an order to obtain an authorization ID.Standard testing
Negative testing
For negative testing:- Make sure to enable negative testing in your sandbox business account as described in the quick start prerequisites.
- In the
.envfile, setENABLE_NEGATIVE_TESTING=trueand setNEGATIVE_TEST_TYPEto one of the error codes in the table. - Restart the server after changing the
.envfile:node server.js.
Go-live checklist
- Integrate store pickup system with payment capture.
- Test pickup verification at all store locations.
- Configure automatic voids for unclaimed orders.
- Train store staff on capture process.
- Test with a real $1 order and pickup.