createInvoice method

Future<Invoice> createInvoice({
  1. String forUserId = "",
  2. String withFeeRule = "",
  3. required String external_id,
  4. required int amount,
  5. String? description,
  6. String? payer_email,
  7. Map? customer,
  8. Map? customer_notification_preference,
  9. int? invoice_duration,
  10. String? success_redirect_url,
  11. String? failure_redirect_url,
  12. List<String>? payment_methods,
  13. String? currency,
  14. bool? fixed_va,
  15. String? callback_virtual_account_id,
  16. String? mid_label,
  17. String? reminder_time_unit,
  18. int? reminder_time,
  19. String? locale,
  20. List? items,
  21. List? fees,
  22. bool? should_authenticate_credit_card,
  23. required String xenditApiKey,
  24. Map<String, String>? headers,
})

invoices

Implementation

Future<Invoice> createInvoice({
  String forUserId = "",
  String withFeeRule = "",
  required String external_id,
  required int amount,
  String? description,
  String? payer_email,
  Map? customer,
  Map? customer_notification_preference,
  int? invoice_duration,
  String? success_redirect_url,
  String? failure_redirect_url,
  List<String>? payment_methods,
  String? currency,
  bool? fixed_va,
  String? callback_virtual_account_id,
  String? mid_label,
  String? reminder_time_unit,
  int? reminder_time,
  String? locale,
  List? items,
  List? fees,
  bool? should_authenticate_credit_card,
  required String xenditApiKey,
  Map<String, String>? headers,
}) async {
  return await invokeRaw<Invoice>(
    parameters: XenditInvokeParameters(
      endpoint: "POST https://api.xendit.co/v2/invoices",
      xenditApiKey: xenditApiKey,
      headers: {
        "for-user-id": forUserId,
        "with-fee-rule": withFeeRule,
        ...(headers ?? {}),
      },
      parameters: {
        "external_id": external_id,
        "amount": amount,
        "description": description,
        "payer_email": payer_email,
        "customer": customer,
        "customer_notification_preference": customer_notification_preference,
        "invoice_duration": invoice_duration,
        "success_redirect_url": success_redirect_url,
        "failure_redirect_url": failure_redirect_url,
        "payment_methods": payment_methods,
        "currency": currency,
        "fixed_va": fixed_va,
        "callback_virtual_account_id": callback_virtual_account_id,
        "mid_label": mid_label,
        "reminder_time_unit": reminder_time_unit,
        "reminder_time": reminder_time,
        "locale": locale,
        "items": items,
        "fees": fees,
        "should_authenticate_credit_card": should_authenticate_credit_card,
      },
      queryParameters: {},
      specialTypeSucces: "invoice",
      isThrowOnError: false,
      builder: (result) {
        return Invoice(result);
      },
    ),
  );
}