Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Fork of Commerce Card on File 7.x-1.x as of commit 75f3dae.
Recommended: Commerce Card on File 7.x-2.x branch - It has incorporated some of the changes and features in this fork, as well as converting to an entity based storage.

Changes Applied:

  • API documentation for all payment method callbacks and module hooks
  • Example payment module to demonstrate all card on file integration
  • Database table CRUD hooks
  • Views Integration
    • Commits: 38bf256
    • Views data definition, custom field handlers, argument validates for card id and owner
    • Default view for user tab page
  • Update a card's billing address
    • Billing Address field form presented on update card form
    • New Card on File payment method callback defined to retrieve the billing address from the payment gateway module - 'get address callback'
    • Commits: 60ba651
  • Add a new card (outside of checkout)
    • New card form
    • New Card on File payment method callback defined to create a new card outside of checkout, 'create callback'
    • Commits: acf4eb9, cb841d8
  • Default card per Payment method instance
    • Added the ability and storage to set a default card per payment method instance id
    • Ensures that there is only 1 default per payment method instance
    • A user can toggle the default setting on the card via a tokenized menu path if they have the 'edit' card data permissions.
    • Default card can be set during checkout
    • The user's default card could be used in a recurring situation or noted to an admin on a manually created order
    • Related Issues: #1421832: Option to define a User's Default Card On File
    • Commits: 7059d09, 9962b04, 4d0c5b0, 43594f0, 9daee58
  • Improved access control
    • More granular permissions added for 'view', 'edit', 'create', 'delete' instead of the original single 'manage' permission
    • Commits: 77fb98e, 9d1861c
  • Card on File Reference field type
    • Defines a Card on File reference field and default display formatters.
    • A reference field gets attached to each order bundle
    • Order field populated during checkout for selected card on file
    • Commits: 252991a, 3542984, 830047a, 0604432
  • Order entity properties
    • Defines a Card on File reference field and default display formatters.
    • A reference field gets attached to each order bundle
    • Chargeable Card on File (chargeable_cardonfile): returns an available card for the owner that can be charged - not expired and card is active. The following are checked top down to determine the card:
      • Order reference field "commerce_cardonfile"
      • Owner's default card for the order's payment method instance
    • Commits: 6a81bb8
  • "Can delete" hook
    • Determines whether or not the give card can be deleted.
    • @see hook_commerce_cardonfile_data_can_delete() in commerce_cardonfile.api.php
    • Commits: 413dfe7
  • Function to process a charge for a given an order
    • If no $card_data array is provided, then the "chargeable card" will be used per hook_commerce_cardonfile_order_chargeable_cards().
    • function commerce_cardonfile_order_process_card($order, $charge = array(), $card_data = array())
      
    • Rules Events
      • 'After a successful processing of an order'
      • 'After a failed attempt to process an order'
    • Rules Action to process an order with a card on file
  • "Chargeable cards" hook
    • Lets modules define the chargeable cards associated with an order.
    • @see hook_commerce_cardonfile_order_chargeable_cards() in commerce_cardonfile.api.php
  • Card label theme function
    • Provides a way to override the card label that is presented during checkout.
    • Theme added: "commerce_cardonfile_data_label" with a parameter of the card data array. Example: theme('commerce_cardonfile_data_label', array('card_data' => $card_data));
    • Commits: b0f0079
  • Fix to not show card on file options to anonymous users during checkout

Project information