Tag: Stripe

Stripe Metadata

Stripe is obviously good for charging credit cards. Subscriptions & Plans work great for SAAS. A feature that is not so obvious but I’m finding really useful is Stripe’s ability to add metadata to a client entry. Metadata can be any name/value pair and looks like this in the Stripe web interface:


So what can you use it for?

I haveĀ a software program I sell that comes with a free 30 day demo period. I put the expire date of the demo period in the Stripe metadata. I could hide that in the data of the program in one way or another, but what happens when a potential customer calls and says they’d like a little more time to test out the software? With the data in Stripe, I can easily go into the Stripe web interface, change the date, and they’re good to go.

I also put the version number of my software in Stripe metadata. When a tech support email comes in, I can easily check for myself what version of my software they are using.

Since it is demo software, I also store the last time the software was used. This let’s me see demos that are no longer being used.

On a simpler level, I can store name/phone number/email information in the metadata. Again, when that tech support email comes in, I can figure out what company it is and can call them back if need be.

Updating Stripe metadata is straight-forward using the StripeX library in VFPX:

* Create/Update the Stripe customer record
oStripe.AddMetaData("Last Update", TTOC(DATETIME()))
oStripe.AddMetaData("Expire", DTOC(lExpire))
oStripe.AddMetaData("Version", oVar.zAppDate + ": " + oVar.zAppVersion)
oStripe.AddMetaData("Active Count", TRANSFORM(lActiveCnt))
oStripe.AddMetaData("School", lName)

lCustID = oStripe.Customer(zsysvar("CustID"), lName)