Remove expired payment methods from customer list of payment methods [with tests]
Merge branch 'three_d_secure'
* three_d_secure:
Send 3DS id when making a transaction
Send 3DS id when making a transaction
Merge branch 'credit-card-blacklist'
* credit-card-blacklist:
Credit card blacklist
Credit card blacklist
Any card on the list is just treated as though it is not present, preventing it
from being used.
Merge branch 'tx-list'
* tx-list:
Admin Command Menu + Admin Financial View
Transactions List
Customer Financials
Telephone Link
Admin Command Menu + Admin Financial View
I've added a new command to show financial information about the user.
But more importantly I've added an infinite admin subsystem which allows
me to go into a user and then run multiple commands on them.
For now it's just these two info commands, but in the future I'd like to
add mutative commands here.
Finally, since I sometimes look up multiple users in a pretty short
timeframe I made the menu open and if I put something into the list that
doesn't parse as one of the actions it instead switches the current user
so I don't have to do "cancel", "customer", and then put the next one
in.
I can just have the session open and put stuff in as needed.
Merge branch 'conditionally-show-commands'
* conditionally-show-commands:
Only show buy credit option if customer has a plan and a credit card
Show commands conditionally (plus add voicemail record command)
Only show buy credit option if customer has a plan and a credit card
Merge branch 'new-signup-add-credit-card'
* new-signup-add-credit-card:
Happy path for credit card signup
Panic should work on any value for error
Allow getting default payment method, not just index
Object representing the backend SGX to use
Stop polluting Object namespace with Blather DSL
Work in the presence of em-synchrony
Helper to allow ordering phone number from Bandwidth v2
Helper to get a promise that resolves after N seconds
Every payment kind will need the plan, so put it at the top
Use registration pattern for Payment kinds
Method to bill the plan of a Customer
Use Forwardable for simple delegations
Helper to allow using sync-style code in a Promise context
New signup: go to web to choose credit card
OOB helper
Reject promise on stanza error
Fix typo
Allow getting default payment method, not just index
New signup: go to web to choose credit card
This step, if chosen, directs the user to the jmp-pay webapp to add a credit
card. It includes an OOB element for use by user agents that can handle
that (possibly for webview embed, etc) with a note-based fallback as per XEP.
Once the user chooses "next" the code checks if they have actually added a card,
and if so continues to a yet-unimplemented step and if not repeats the
instruction to go to the web app.
Split logic out into testable objects
Rubocop clean. Good test coverage of helper objects.