Our site requires that we allow any purchase to:
(a) have an optional Purchase Order attached to it, and
(b) allow some, pre-approved, customers to "pay" by PO and we'll bill them later. All other customers who are not approved will not have the option of "paying" by PO, but only using a PO number with their order as an optional identifier along with their order.
I've set up a Customer Attribute that is not visible on the Front End title "PO Authorized" that we can set to True for customers from whom we will accept PO's as "payment" and therefore bill later. If this is not set to True, we will NOT accept PO's as payment but only as an optional identifier on the order - another payment type will need to be chosen.
Since the Purchase Order field is a part of the Purchase Order Payment Type, we could turn this on to expose the field in the checkout process, but will need to link the payment acceptance aspect to the Customer Attribute boolean.
I need a little help in this. Can someone give me some direction on this, please?
Thank you in advance!
If I understood correctly you have created a customer attribute to enable disable PO as payment option. Now your question is what:-
1) Once the user uses that payment method his selected payment method is not shown in order data?
OR
1) You are trying to set the value of customer attribute to something else. - This can be achieved using event.
But I think what you could do is create a payment method based on customer attribute. I am sorry if you are trying the same, but may be I can comment more if you can share more via a use case.
I'll try to clarify a bit:
Every purchase on the site should allow a Purchase Order Number ("PO #") to be an optional addition to the order at checkout. Something most sites allow for business purposes.
But only those customers who we have pre-approved (in a sense, like we have granted them credit terms), should be able to use the Purchase Order Checkout Method. All other customers who have not been pre-approved for this Checkout Method should not be able to use this method, as it allows them to avoid paying for their order at checkout time.
In other words, we only want those customer we've extended this option to, to be able to use this Checkout Method, but disallow all other customers from using it. A conditional use of a Checkout Method, essentially.
Does that help to clarify?