How can I point to payment methods, is it even possible?

Hey!
I want to create a MultiField that points to PaymentMethods, how can I do this?
I am right now looking if I can create a CustomFieldType, but I’m a little stuck.
Can someone point me in the right direction?

Litium version: 7.3

What is the scenario, why do you need to create a custom multifield?

We have some special restrictions where we want to connect a set of paymentmethods to a targetgroup. Certain targetgroups should only have a subset of all the paymentmethods avalible foor the site.
Also I want a way to point a set of paymentmethods on the website that distinctevly says these paymentmethods are of type invoice and I will not show them when my customer dosent have a valid creditscore.

So I am asking how I can point out a set of PaymentMethods booth on TargetGroup and on the Website fieldtemplate.

Is this possible in the first hand?

I am also asking if it is possible, is a customer fieldtype the way to go?

A pointer to payment metod does not exist but you can create a new field on the Targetgroup template and add supported Payment methods Ids and build the solution on that to fetch payment methods.
For customer you already have the Creditscore field to match the fetching of PaymentMethods.

First, thank you for taking time Steve.

Today we are already storing id:s as you suggest.
But when I look at "Globalization -> Channel -> Select Channel -> Tab Countries -> Here every country have paymentmethods and deliverymethods.
You have support for what I want to do, but it’s hidden.
Could you help me a way around it?
And also are there a specific reason why this is not possible in the first place?

I can find something called ChannelToCountryLinkEvent, does it exsist one for adding/removing payment/delivery methods on channel. Maybe that is a way to work around the issue, to let the customer write in ID:s is not optional.

Thanks.

You can find events related to delivery and payment in:

ModuleECommerce.Instance.EventManager.

then it will fire an event on the crud operations if it helps you.

Could be a solution! Thank you.

1 Like

Got some hint for this approach from our solution architect:
Build a panel on the payment / delivery method where you will have the settings for it. Then these are pointed out as usual on the channel. For the public side, you do an extra filtering on only the payment / delivery methods that meet your conditions.

1 Like

Do you have an example on how this is done?
Also, could I add more information to a paymentmethod this way? So where I config the name for the paymentmethod could I add for example a checkbox that says “IsInvoice” for example?

Thanks!

This is an example on how to create a custom panel:
https://docs.litium.com/documentation/litium-documentation/customers/target-groups/current-sessions
You can create custom html components and add your logic to make it work as you wish.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.