I want to show you a way how can you configure saving of a Credit Card Profile inside Acumatica even if the payment is done on the BigCommerce side.
This functionality is possible only if both of the systems have integration with the same Credit Card Processing Center. In my case I will use example of Authorize.NET as this processing center is supported and by Acumatica and by BigCommerce.
Step 1: We should configure Authorize.NET plugin at BigCommerce (under Store Setup → Payments) to store credit cards:
Please note that it will be up to user to store or not the credit card information with you.
Step 2: Now if user places the order, there will be an option to save card for the future usage on the payment settings:
Please note that this option will appear, only if you have logged in user. For the guest user this option is not available
Step 3: Now we should configure Acumatica to support Credit Card profiles. First place will be at the processing center level:
And the second place under the Customer Class settings:
Please note that you should configure it at least for the customer class that is used to create new customers in Acumatica. This customer class is specified at the BigCommerce Stores, under Customer Settings.
Step 4: Also you need to configure an Payment Methods mapping to map BigCommerce Authorize.NET payment method to relevant Acumatica’s. Please note that BigCommerce is using 2 different payment methods for Authorize.NET depends on save or not save card settings.
Step 5: Now, when configurations are done, we can place and synchronize the order. Upon synchronization, BigCommerce connector will pass the Authorize.NET transaction ID from BigCommerce to Acumatica and will mark the payment as Pending Processing. This processing is actually a deferred Credit Card validation which allows to load Sales Order faster, but will require a separate processing to validate the transaction id with the processing center.
You can note that at this point of time, credit card profile is not yet created.
Step 6: Now we need to call processing center to load needed information to Acumatica. You can do it by calling Validate CC Payment or Capture CC Payment at the Payments and Application (AR302000) form. Note that you also can schedule this operation through the Validate External Transactions (AR513000) form. Scheduling may help you to automate routine operations.
Upon the validation you will see that Payment is updated with the Credit Card masked number, because the validation will load all needed tokens to Acumatica database:
Step 7: Now finally you can check the customer profile and you will see than new customer payment method has been successfully created and saved:
In the end, I would like to point, that all the synchronization between BigCommerce, Acumatica and Authorize.NET is completely secure. Credit Card number and other details are stored only in Authorize.NET and not exposed to the integration or Acumatica database. During the synchronization between BigCommerce and Acumatica, only the Transaction Number is passed. And during the validation, only the payment profile token will be loaded form Authorize.NET to Acumatica.
Hope it helps!