So I am building a custom checkout system, using CIM/ActiveMerchant... and i was planning on using CIM to store user's shipping addresses.
So basically i have a Model in my app "ShippingProfile" which stores the CIM_id, which i then use to pull down all the details from CIM.
BUT I just thought of this.. If an order has_one ShippingProfile, but the user changes that shipping profile at a later date... how do you keep accurate records when information is changed in CIM?
Is there a way that CIM stores instances of billing/shipping profiles? The only other approach i could think of is directly storing all the fields of the ShippingProfile into the order at the time of the transaction... but that totally defeats the purpose of using CIM.
01-02-2015 05:00 PM
You could get the shipping info from their shipping profile then populate the shipTo info on the transaction.
Although personally I would stored that on my database for each order.
And the same way with payment profile, stored the last 4 digit on my database for each order.
01-02-2015 06:14 PM - edited 01-02-2015 06:15 PM
So... is there a purpose to store shipping and billing addresses on CIM? Why not just use my app's db to store that information instead... I was thinking keeping all the data on CIM would be better for PCI compliance.
Would it make sense to just have an Address model and then use my database to store all users shipping and billing addresses.
I'm just not sure how i would allow them to edit a billing address, since it is a part of a payment profile.
Basically I am trying to build a checkout similar to amazon's UX.
01-02-2015 07:11 PM
So... is there a purpose to store shipping and billing addresses on CIM? Why not just use my app's db to store that information instead...
Don't know that is your call where to stored shipping address.You could use them for quick shipto selection, since they will be picking a payment anyway. Then stored the actual address on your database.
I was thinking keeping all the data on CIM would be better for PCI compliance.
I don't think PCI have anythng about shipping info.
I'm just not sure how i would allow them to edit a billing address, since it is a part of a payment profile.
Why does it matter where the billing address is?
Basically I am trying to build a checkout similar to amazon's UX.
If you wanna be like amazon, pay more to be PCI compliance yourselves.
01-03-2015 06:18 AM
Why does it matter where the billing address is?
Doesn't CIM use the billing address in the payment profile for (AVS) address verification?
If you wanna be like amazon, pay more to be PCI compliance yourselves.
01-03-2015 07:26 AM - edited 01-03-2015 07:27 AM
Why does it matter where the billing address is?
Doesn't CIM use the billing address in the payment profile for (AVS) address verification?
Yes, it does it when you create the transaction, but it doesn't matter if they change the billing address after ordering.
01-03-2015 08:23 AM - edited 01-03-2015 08:23 AM
Yes, it does it when you create the transaction, but it doesn't matter if they change the billing address after ordering.
So if they came back and ordered again, and changed the billing address, it won't check the billing address with AVS again and decline the card?
I guess it wouldn't really matter if they changed it later, since entering it once would verify they are the proper owner of the card. Maybe i shouldn't even allow them to change the billing address after the payment profile is added initially
01-03-2015 10:29 AM - edited 01-03-2015 10:31 AM
So if they came back and ordered again, and changed the billing address, it won't check the billing address with AVS again and decline the card?
It does it for every order, but it won't affect previous order.
01-03-2015 10:57 AM - edited 01-03-2015 10:57 AM