Credit Cards¶
Credit cards must be associated to a customer profile on the Authorize.net server. A credit card can be associated when a new customer is created, to see how this is handled refer to the Customer API documentation.
Create¶
To add a credit card to an existing user, the minimal amount of information
required is the credit card number, the expiration date and the customer
profile ID. The customer profile ID is passed as the first argument to the
create method.
Minimal Example¶
result = authorize.CreditCard.create('customer_id', {
'card_number': '4111111111111111',
'expiration_date': '04/2014',
})
result.payment_id
# e.g. '17633318'
When creating a new credit card, the expiration month and date can be separate values.
result = authorize.CreditCard.create('customer_id', {
'card_number': '4111111111111111',
'expiration_month': '04',
'expiration_year': '2014',
})
result.payment_id
# e.g. '17633319'
Full Example¶
When creating a new credit card, the billing address information can also be associated to the card.
result = authorize.CreditCard.create('customer_id', {
'customer_type': 'individual',
'card_number': '4111111111111111',
'expiration_month': '04',
'expiration_year': '2014',
'card_code': '123',
'billing': {
'first_name': 'Rob',
'last_name': 'Oteron',
'company': 'Robotron Studios',
'address': '101 Computer Street',
'city': 'Tucson',
'state': 'AZ',
'zip': '85704',
'country': 'US',
'phone_number': '520-123-4567',
'fax_number': '520-456-7890',
},
})
result.payment_id
# e.g. '17633319'
Details¶
The details method returns the information for a given customer payment
profile. This method takes both the customer profile ID and customer payment
profile ID.
The following information is returned in the result attribute dictionary:
payment_profile.payment_idpayment_profile.customer_typepayment_profile.payment.credit_card.card_numberpayment_profile.payment.credit_card.expiration_datepayment_profile.bill_to.companypayment_profile.bill_to.first_namepayment_profile.bill_to.last_namepayment_profile.bill_to.addresspayment_profile.bill_to.citypayment_profile.bill_to.statepayment_profile.bill_to.zippayment_profile.bill_to.countrypayment_profile.bill_to.phone_numberpayment_profile.bill_to.fax_number
result = authorize.CreditCard.details('customer_id', '17633319')
Update¶
The update method will update the credit card information for a given
payment profile ID. The method requires the customer profile ID, the payment
profile ID and the new credit card information.
result = authorize.CreditCard.update('customer_id', '17633319', {
'customer_type': 'individual',
'card_number': '4111111111111111',
'expiration_month': '04',
'expiration_year': '2014',
'card_code': '123',
'billing': {
'first_name': 'Rob',
'last_name': 'Oteron',
'company': 'Robotron Studios',
'address': '101 Computer Street',
'city': 'Tucson',
'state': 'AZ',
'zip': '85704',
'country': 'US',
'phone_number': '520-123-4567',
'fax_number': '520-456-7890',
},
})
Delete¶
Deleting a customer credit card will remove the payment profile from the given customer.
result = authorize.CreditCard.delete('customer_id', '17633319')
Validate¶
Stored credit cards can be validated before attempting to run a transaction against them.
result = authorize.CreditCard.validate('customer_id', '17633319', {
'card_code': '123',
'validationMode': 'liveMode'
})
Transactions¶
For information on how to run transactions agains stored credit cards, please refer to the Transaction documentation.