Payment MFE configuration for lilac

Our payment processor (Paysafe) isn’t currently supported by the new Payment MFE that is now part of Lilac.

In order to better understand the Payment MFE and try to adapt it in order to support our payment processor, I’ve decided to try it with a test account from Cybersource.

There are multiples APIs used by Cybersource. Which one should I use? Are we using SOP, Secure Acceptance or something else?

In other words, what values need to be filled in /edx/etc/ecommerce.yml for the Flex Microform to work correctly?

I am asking because right now I do have the Payment MFE displaying all information but I cannot input any values in the Credit Card Information fields and the payment button doesn’t appear. It’s like the Flex Microform fields do not load…

Any help would be greatly appreciated.

P.S. I got PayPal to work with a PayPal Test Merchant Account but I would also like to get it to work with a Cybersource Test Account.

Has anyone been able to use the Payment MFE with Cybersource?

I am able to use a Paypal test account without any issue.

With Cybersource, it feels like the skeleton is loading but I can’t input any data in the Credit Card Information section.

Maybe I am using the wrong keys or the wrong values. An example of fields that need to be filled as part of /edx/etc/ecommerce.yml would be extremely useful.

Logs that would tell me what is being called or what is being blocked would also be very useful. The javascript console in Chrome and Firefox are really not useful…

While looking at the latest commits in ecommerce, I discovered the use of flex_shared_secret_key_id and flex_shared_secret_key hidden in the code for cybersource.py.

I also found references to these values in base.by and other configuration files.

But what I find strange is that these values are absent from ecommerce.yml for example when I try to configure ecommerce.

There are also multiple references to fields like sop_access_key, sop_payment_page_url, sop_profile_id, sop_secret_key that have been removed from the configuration files like base.py and local.py but that are still part of the ecommerce.yml file distributed with Lilac. It confuses me a lot…

See Consolidate the Cybersource and CybersourceREST payment processors · edx/ecommerce@b69e7e3 · GitHub for more details.

Could it be that the ecommerce.yml file distributed with Lilac be out of date? Who would be able to confirm or deny it?