Solved

ICCHostedPaymentFormResponseParser

  • 13 October 2023
  • 30 replies
  • 394 views

Badge

Working on creating a Custom cc plug-in . However i cannot get the ICCHostedPaymentFormResponseParser to work . 

Does anyone have any ideas of how i can go about this?

icon

Best answer by Evgeny Afanasiev 19 October 2023, 15:44

View original

30 replies

Badge

But since my local environment is not connected to production , i am not seeing my file when i try to add it to production. I have a sandbox but it is on the same tenant so not sure how helpful it actually is.

Badge

This Worked!! thank you for all your help! I would like to implement a similar thing for the hosted customer profile creation . Assuming I need to implement something similar. But what method should i use to sync from frame window to the parent browser?

Userlevel 3
Badge

Hi Merch,
 

Glad that it worked for you!

As for the HostedForm to vault the Cards, you would need to implement ICCHostedFormProcessor interface. Very similar way as ICCHostedPaymentFormProcessor, just simplier, as you do not need to pass amount, currency, etc.

The getting card token (aka payment profile id) process is different, as Acumatica interfaces initially build for Auth.Net, that not returning card token by response. So the way it works, after the callback received, hosted form is closed and the implementation of the GetAllPaymentProfies method in ICCProfileProcessor called. There you can retrieve all the card for the specific customer  with the card that just has been vaulted. Then the payment profile is created base on that.

If your processing center returns the token by response, then there is a trick to return in the GetAllPaymentProfies just one CreditCardData, based on response.

For this you need to to capture the response from the hosted form yourself. This is an example:
https://github.com/weihnachtswichtel/AcumaticaDemoHostedFormIntegration/blob/master/CLCustomerPaymentMethodMaintExt.cs

Then you can get this value in plug-in like that:
https://github.com/weihnachtswichtel/AcumaticaDemoHostedFormIntegration/blob/master/CLProfileProcessor.cs#L48

parse the token out of it, form CreditCardData object and return it as an only item in the list.
 

@Merch, since the initial matter (ICCHostedPaymentFormResponseParser) is clarified, I would suggest to close this topic as answered. Please mark as an answer the post that helped you most.
And if you have any other questions regarding ICCPlugin please raise another topic. This way, for other people who would have similar questions it will be easier to find right answers here.

Thank you

Badge

Thank you for this , so just to understand - what am i returning in the hosted form a vaulted card not tied to a customer ?

Userlevel 3
Badge

@Merch,

In case your processing center returns the card token on response and you managed to pass it to GetAllPaymentProfies method. The card created will be linked to the customerProfileId. If the current Acumatica customer does not have a saved customerProfileId, it should will be created first in your ICCProfileProcessor.CreateCustomerProfile implementation.

If processing center does not return the card token, you can retrieve all the card for specific customer -  customerProfileId is a parameter of GetAllPaymentProfies method.

Please see in the official documentation, what methods should be implemented:
https://help.acumatica.com/(W(1))/Help?ScreenId=ShowWiki&pageid=53da199c-4dbc-44a7-8f73-93292f723b81

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved