MuseumsuferShop
An annual card for thirty-nine museums.
Sold online, billed by direct debit, scanned at the door.
The store itself is WooCommerce, off the shelf. Everything that made this hard
is in the two plugins I wrote for it. Every existing subscription had to move
off a legacy system onto WooCommerce Subscriptions without a single customer
re-authorizing, because those people had signed direct debit mandates, which
are ACH authorizations on file in US terms. Moving to an off-the-shelf processor
would have meant collecting authorization from every one of them again. That is
a churn event, so I wrote the payment method myself.
The same plugin generates the file the bank actually runs the collection from: an
ISO 20022 pain.008.002.02 XML batch on the SEPA Core scheme, the European
equivalent of a NACHA file for ACH. They were already on that schema, so I matched it
and made it configurable rather than hard-coding it. Orders export one at a time or as a
batch. Most people who claim payment experience integrated a gateway.
This is a level below that.
The second plugin is the ticketing side, custom post types and all. A separate
controller, run by another vendor and shared with other merchants, issues the
QR code and answers the scanners at all thirty-nine venues. My plugin provisions
and revokes against it. I could not modify it and did not need to.
- What I wrote
- Two WooCommerce plugins: the payment method and the ticketing integration.
- Migration
- 3,300+ subscription records imported, no customer re-authorization.
- Payments
- Direct debit mandates, and a configurable ISO 20022 collection file,
pain.008.002.02 by default.
- Access
- Entitlements provisioned into a live third-party system.
museumsufershop.de