PaymentMethod

Describes a customer payment method.

Description

This object describes a customer payment method. A payment method can be a CreditCard, ACH (Electronic Check), StoredValue (gift certificate, store credit, auto-reloading prepaid card, etc), and Invoice. The payment type is specified by setting MethodType to 'CreditCard', 'ACH', 'StoredValue' or 'Invoice'. If MethodType is left blank and credit card information is provided, the type will default to 'CreditCard'. If MethodType is left blank and electronic check information is provided, the type will default to 'ACH'.

The StoredValue method can be as simple as a store credit or as complex as linking to a physical pre-paid card or gift card with a magnetic strip. For a store credit or simple balance on account, the only required field is Balance. To use the StoredValue payment method, the merchant account must have stored value transactions enabled.

The Invoice method allows a merchant to collect transactions that will be invoice at a later date. Balance is increased by the system when an Invoice transaction is received. MaxBalance specifies that maximum balance that a customer can incur before Invoice transactions are declined. Setting MaxBalance to 0 will cause the customer to have no limit. To process Invoice transactions, the merchant account must have Invoice processing enabled.

Properties

Type Name Description
string MethodType Type of payment method ('CreditCard', 'ACH', 'StoredValue' or 'Invoice')
string MethodID ID of payment method. This property is ignored when adding a new payment method but required if updating an existing method. (Read Only)
string MethodName Label for payment method. For example "Work Visa" or "Personal Checking."
integer SecondarySort If set to value greater than 0, use this method as backup in case default fails. Secondary methods will be run in ascending order.
datetime Created
datetime Modified
String Expires Date on which payment method will expire. Do not leave blank. Format: YYYY-MM-DD
Credit Card
string CardHolder Name of the card holder on credit/debit card.
string CardNumber Credit card number (required for credit cards). If data is coming from a swiper, base64_encode the entire raw block read from the swiper device and put %%enc://%% at the beginning. Example: %%enc://%%AAbbCdEEaa...
string CardExpiration Credit card expiration date in YYYY-MM format. It will also accept MMYY format. (required for credit cards)
string AvsStreet Street address for AVS (address verification system). (Optional but recommended for credit cards)
string AvsZip Zip code for AVS. (Optional but recommended for credit cards)
string CardCode CVV2/CID card identification code. This code is not stored and is only used when verifying a new payment method before it is added. (Optional for credit cards)
string CardType Type of credit card (Visa, Mastercard, etc). This is a read only parameter and will be ignored if set.
string XID XID value received from 3rd party Visa VPAS or MC UCAF. Can be sent with transaction, but cannot be stored in method.
string CAVV CAVV value received from 3rd party Visa VPAS or MC UCAF. Can be sent with transaction, but cannot be stored in method.
integer ECI ECI value. Can be sent with transaction, but cannot be stored in method.
Electronic Check (ACH)
string Account ACH Bank Account Number (required for checks)
string AccountType ACH Type of Bank Account (Checking or Savings, defaults to checking)
string Routing ACH Bank Routing Number (required for checks)
string DriversLicense Drivers license number used for check guarantee (optional)
string DriversLicenseState Drivers license state (optional)
string RecordType ACH transaction type (optional, should be left blank unless instructed differently by check processor)
Invoice
double MaxBalance The maximum balance that may be charged on Invoice before transactions are declined
Stored Value
double Balance The funds left on the account. Transactions against this payment method may not exceed this balance
boolean AutoReload Set true if StoredValue card should automatically be reloaded
string ReloadSchedule Automatic reload schedule
double ReloadThreshold Balance that will trigger an automatic reload
double ReloadAmount Amount to automatically reload
string ReloadMethodID Payment method to use for reloading card

Places Used

Examples

Credit Card
MethodType CreditCard
MethodName Work Visa
CardNumber 4444555566667779
CardExpiration 2012-09
AvsStreet 490 Maple Ave
AvsZip 90010
Electronic Check
MethodType ACH
MethodName BoA Savings
RecordType PPD
AccountType Savings
Account 4920029
Routing 123456789
DriversLicense 23423422
DriversLicenseState CA
StoredValue
MethodType Invoice
MethodName Customer Account
Balance 250.00
Invoice
MethodType Invoice
MethodName On Account
Balance 0
MaxBalance 5000.00

.NET VB

    Dim payMethod As usaepay.PaymentMethod = New usaepay.PaymentMethod
            payMethod.CardExpiration = "1212"
            payMethod.CardNumber = "4000100011112224"
            payMethod.AvsStreet = "123 Main st."
            payMethod.AvsZip = "90046"
            payMethod.MethodName = "My Visa"

.NET C

    usaepay.PaymentMethod payMethod = new usaepay.PaymentMethod();
                payMethod.CardExpiration = "1212";
                payMethod.CardNumber = "4000100011112224";
                payMethod.AvsStreet = "123 Main st.";
                payMethod.AvsZip = "90046";
                payMethod.MethodName = "My Visa";

Change History

Version Change
1.7 Added CAVV and 3DSecure method fields. Added CardHolder field.
1.4 Add MethodType, Balance, MaxBalance, AutoReload, ReloadSchedule, ReloadThreshold, ReloadAmount, ReloadMethodID
1.3 Dropped CreditCardData and CheckData. Added Account, AccountType, DriversLicense, DriversLicenseState, RecordType, Routing, AvsStreet, AvsZip, CardCode, CardExpiration, CardNumber and CardType
1.2 Added the Created and Modified Parameters
1.1 Soap 1.1 Release