We have a custom booking widget on our website (not SimplyBook’s embedded widget) that collects all booking details and creates the booking via the SimplyBook API. We’re using Stripe for payment processing. We have a few related issues we need help with.
What we know works: When a customer books through SimplyBook’s own widget with SBPay configured as the payment processor (custom processor mode), the booking turns green after payment. The flow is:
-
SimplyBook creates the booking + invoice
-
SBPay POSTs to our custom processor endpoint with a signed order
-
We charge the card via Stripe
-
We call
approveOrderon the SBPay order -
Booking turns green

Problem 1 — Payment not marked as received: When we create the booking via the admin API (book() on user-api.simplybook.me/admin), the booking appears on the calendar correctly but invoice is null in the response. There’s no SBPay order linked to it, so we can’t approve anything and the booking does not turn green.
What we’ve tried:
-
confirmBookingPayment(bookingId, 'stripe', sign)— returnstruebut booking does NOT turn green. -
getBookingCart([bookingId])— returns{ amount: 0, currency: '', cart_id: null, cart_hash: null, status: null }. Cart is null for admin-created bookings. -
Creating a SBPay order manually via
POST /api/paymentwithpaymentSystem: 'custom'andreferenceId: bookingId— approved successfully in SBPay but booking still does not turn green. -
getPaymentProcessorConfig(name)— returns “Unexpected error” for all processor names tried (stripe,sbpay,custom, etc).
We have also reviewed the SBPay API documentation and attempted creating a SBPay order from our side using POST /api/payment with referenceId set to our booking ID. The order creates and approves successfully via SBPay, but SimplyBook doesn’t recognize it as linked to the booking. We believe this is because when SimplyBook creates the order natively it sets a merchantReferenceId tied to a SimplyBook invoice which we can’t replicate since admin-created bookings return invoice: null. Is there a merchantReferenceId value or SBPay API call we can make from our side to establish that link?
Current workaround: We process payment via Stripe and store the Stripe PaymentIntent ID in the booking notes field automatically so the payment record isn’t lost. The booking shows on the calendar correctly. our concern is whether SimplyBook will send the client an automated “payment not received” notification since the booking isn’t marked paid.
Problem 2 — Add-ons and POS items not recording: When we create a booking via the admin API, any add-ons or POS items the client selected do not appear attached to the booking in the dashboard. We are able to charge for them correctly through our own payment flow, and we automatically include them in the booking notes field as a workaround so the information isn’t lost. However, they don’t show up as actual add-ons or POS items on the booking the way they would if booked through the native widget. Is there a correct way to pass add-ons and POS products when calling admin book() so they are properly recorded against the booking in SimplyBook?
Our questions:
-
Is there any API method that will mark an admin-created booking as paid and turn it green?
-
Is there a way to create an invoice for a booking created via the admin API?
-
What
paymentProcessorstring doesconfirmBookingPaymentexpect for SBPay, and does it actually trigger the green status or is green exclusively controlled through SBPay’s order approval? -
Will SimplyBook send “payment not received” notifications to clients for admin-created bookings that aren’t marked as paid? If not, the green status may not be critical for us.
-
How do we properly attach add-ons and POS items to a booking created via the admin
book()API?
We are building this integration using Claude AI and are comfortable implementing whatever is needed on our end, even a pointer to the correct API method or flow would be very helpful.
Our setup: SimplyBook company login lab81, SBPay merchant lab81, using the Accept Payments plugin with SBPay using stripe & custom processor.
Thanks