There is some Payment API that supports variable signature. Or rather, post paid scheme.
If the user spent X, pay Y. If you did not spend anything, you do not pay anything. If you spent 5X pay 5Y.
I already use pay-as-you-go for prepaid operations, but at documentation from it's signature description, the value is fixed.