Logo

How can we help you?

Search our knowledge base to get answers to your questions, access video training & more!

Developer

Ability to Pull Card on File in Authorize.net

Updated 2 days ago

Currently, we have a batch process that retrieves all cards stored in Authorize.net and creates corresponding Payment Profile records. This new requirement involves creating an invocable class that pulls card information from Authorize.net for a specific customer using their Customer ID.

Invocable Class Requirements

The invocable class will handle the following tasks:

  1. Parameters

    • Account Id

    • Contact Id

  2. Retrieve CustomerProfileId

    • If the account/contact has existing Payment Profiles, retrieve the CustomerProfileId from the fw1__Customer_Profile_ID__c field.

    • If no profiles exist, make an API call using Account.fw1__Merchant_Customer_Id__c to fetch the CustomerProfileId:

        string getCustomerProfileId(string merchantCustomerId)
    • If the system fails to obtain the CustomerProfileId, exit the process.

  3. Fetch Payment Profiles

    • Call Authorize.net to retrieve payment profiles using:

        List<fw1__PaymentProfile__c> getCustomerProfile(string customerProfileId)
  4. Process Payment Profiles

    • For each Payment Profile returned in the response:

        a. Verify if the customer already has an existing fw1__PaymentProfile__c record by comparing the Token.

        b. If the Payment Profile exists:

    • Update the Network Transaction Id.

    • Update the Original Authorize Amount with the values from the response.

    • c. If the Payment Profile does not exist:

      • Insert the profile.

      • Ensure the Account and Contact fields are populated.

 

Availability: Winter '25

Previous

Option to Save Payment Details When Using the API

Next