Payment methods represent ways that payments can be retrieved directly from a customer.
Common methods for capturing payment include, Debit/Credit Cards, ACH/DirectDebit or more esoteric such as BitCoin.
When payment are retrieved from a payment method they are attributed to a payment method, this gives trail of how funds were received. The result of successful and failed payment attempts is also stored in the receipts table.
Payment Method API documentation
Using Payment Methods
When a card is converted into a payment method it is stored against an account, if no account exists for the payment method, and empty account is created. Multiple cards As the card is stored against the account it can be used for multiple subscriptipns
Types of Payment Methods
Card Vault
When a card is directly capture vaults a card it authorizes the card with any configured payment gateway configured. This allows BillForward to target multiple payment gateways when taking a payment. The default strategy is fail-over of gateways, this can be used in situations when a gateway may have intermittent connectivity issues.
Tokenized Gateway
Many payment gateways provide direct card tokenization APIs. This allows cards to be sent from the customers device to the payment gateway without touching any application code, this mitigates the risk of not-complying with the card industry standards for card handling, known as PCI compliance.
Payment Method Ordering
The order that payments are taken for an invoice is important, as some payment methods, for instance coupon, may alter the actual amount that needs to be paid. Each payment method has natural precedence. Thus the order a payment method is added to a subscription is semantically important.
Coupon Payments
Credit Note Payments & Tokenised and Card Vault Payment methods
PayPal
To test capture of PayPal programmatically use the following steps:
- Get your BillForward public token
- Using your token call the tokenization/auth-capture end point
- Provide the following test nonce: fake-paypal-future-nonce
- The Gateway should be set as Braintree. (Paypal gateway is for PaypalPro)
For further reading on test nonces see Braintree Test Nonces