Certain parameters are mandatory for specific payment methods and certain parameters act differently depending on the payment method.
For 1Voucher, customer.mobile (the customer's phone number for receiving change vouchers and refunds) and virtualAccount.password (the voucher PIN) are mandatory.
For M-PESA, virtualAccount.accountId (the customer's 12-digit phone number) is mandatory. M-PESA only accepts integer amounts, not decimals, so round up your amount.
For blink by Emtel, virtualAccount.accountId (the customer's 8-digit phone number) is mandatory.
For Mobicred, virtualAccount.accountId (the customer's Mobicred email address) and virtualAccount.password (the customer's Mobicred password) are mandatory.
For Capitec Pay, virtualAccount.type (the customer's identifier type; IDNUMBER, CELLPHONE, or ACCOUNTNUMBER) and virtualAccount.accountId (the customer's 13-digit ID number, 10-digit phone number starting with 0, or up-to 64-digit, alphanumeric bank account number) are mandatory. High-risk merchants must provide the verified IDNUMBER and cannot use the CELLPHONE or ACCOUNTNUMBER account types.
For EFTsecure, InstantEFT, Payflex, ZeroPay, FinChoicePay, Scan to Pay, M-PESA, blink by Emtel, Mobicred, and Capitec Pay, the shopperResultUrlis mandatory.