draftinvoice means you haven't yet authorized Digital River to capture any charges. However, draft invoices do list the total taxes, fees, duties, and amounts for the goods rendered. As a result, they can be useful to include in billing reminders to customers.
openinvoices can be voided. If an invoice is in any other state, and you attempt to void it, a
409 Conflictis thrown:
open, Digital River initiates a billing process and attempts to capture the charge(s). With invoices, you can take advantage of our billing optimization feature. If you use this feature, make sure your integration only displays payment methods that are supported with invoices.
true. This setting prompts Digital River to make multiple payment capture attempts throughout the billing period, the length of which you can configure by setting
collectionPeriodDays(the default setting is 30).
paid. If the charge(s) are still not captured at the end of
collectionPeriodDays, we move the invoice's
uncollectibleand create an
attemptCount. This value can be useful for your analytics.
false, Digital River makes just one payment collection attempt. In this case,
collectionPeriodDayshas no effect on the billing process. Depending on the result of that single collection attempt, we move the invoice's
uncollectibleand then emit the corresponding event.
false, then you can allow customers to use any supported payment method to pay an invoice. This includes combining a primary source with one or more secondary sources.
true, then an invoice's
payment.sourcesshould only contain a single source. Additionally, that object must be a primary source and it must support reusability. So, if you're using the billing optimization feature, restrict customers to payment methods that can be used in recurring transactions.
openinvoice can then transition to
uncollectible. All of these are terminal states. Invoices that are
uncollectibleare not payable.
statevalues for a successful invoice (i.e. the happy path) are