Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PayTM
Closes Add PayTM as a payment method (popular mobile payment service in India) growth#226
Screenshots of PayTM implementation:
https://gist.github.com/jmacxx/2bcf95607373c821990e82bdcfa2c3fd#gistcomment-3894407
UPI
Closes Add Unified Payments Interface (UPI) as a payment method (popular mobile payment service in India) growth#225
Screenshots of UPI implementation:
https://gist.github.com/jmacxx/5d9dbdc80a7ad9e8b5847be548ed9b99#gistcomment-3894411
RTGS
Closes Add Real-Time Gross Settlement (RTGS) as a payment method (popular banking payment method in India) growth#237
Screenshots of RTGS implementation:
https://gist.github.com/jmacxx/0dab93fb6dcda158dd930c0ed4120290#gistcomment-3894416
NEFT
Closes Add National Electronic Funds Transfer (NEFT) as a payment method (popular banking payment method in India) growth#236
Screenshots of NEFT implementation:
https://gist.github.com/jmacxx/61df5ac79581bd4a6e8458a998762063#gistcomment-3894447
IMPS
Closes Add Immediate Payment Service (IMPS) as a payment method (popular mobile payment service in India) growth#224
Screenshots of IMPS implementation:
https://gist.github.com/jmacxx/fd60d9f343e88f3d3b806a2d893be487#gistcomment-3894453
Note to reviewers:
All payment methods are specific to India / INR currency and are implemented using
CountryBasedPaymentAccount
.Three of the payment methods (RTGS/NEFT/IMPS) are payment networks which use IFS Code and account number as the payee id. Since they function the same, code re-use was attained by inheriting from
IfscBasedAccountPayload
and usingIfscBankForm
to do the common GUI work.The other two payment methods (PayTM, UPI) are regular single field payId accounts.
Each payment method shows popup information messages at buy/sell/hit/take offer so I made generic
maybeShowAccountWarning
methods in MutableOfferView and TakeOfferView that obtain the resource keys to display from the payment account. Swift was also adapted to make use of this feature. Same for the message shown prior to account creation, inFiatAccountsView
.