keat Posted March 7, 2016 Share Posted March 7, 2016 Since going live on Saturday with V6, i'm being told that SecPay(PayPoint) notifacations are missing information in the emails we recieve. Namely the customers billing and shipping detials along with the cart_order_id Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 I'm not an expert on PayPal nor SecPay, but please clarify on which entity is missing the requested details in the emails this entity sends out: CubeCart's emails, PayPal's, or SecPay's emails. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 I've just got off the phone to Paypoint, who have suggested that the cart is not sending this info, so I'm stuck. I've reset the cache, and see what happens with the next PayPoint payment. It appears to be missing the customers shipping and billing details, along with the cart_order_id. I've looked on the PayPoint login page, and all orders paid via PayPoint seem to be missing this info. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 Is there a way to test this module without having to keep putting dummy orders through or waiting for a real order. ? Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 "Is there a way to test this module?" Not that I am aware of, but it would be an interesting feature to add to all modules. Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 Looking at the PayPoint gateway code, no, this gateway does not send any info regarding the customer. If PayPoint's API is written to accept such info, we would need to examine the API documentation to learn what format that data should be sent. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 The chap at PayPoint referred me to thism document, and said section 8 on page 14 ?? https://www.paypoint.net/assets/guides/Gateway_hosted_integration_v2.0.pdf What I'm confused with is it worked on V3 but doesn't on V6. If you look at the attached image, you'll see the last order on Friday evening, and the first one today (after I'd set it up). Note how the cart ID is some random hex Who wrote the PayPoint plugin. Was this Paypoint themselves or done by Al and the team ? Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 Comparing CC3's SecPay module with CC6's PayPoint module, I see where CC3 can send all manner of data and a proper cart order number, and CC6 sends the code "CC5" with a hash of the time and the product of two random numbers appended. It doesn't matter who wrote the module. It matters who will enhance it and when. We can certainly start work on getting CC6's module to send more data. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 In the mean time, I've disabled it. I'm very surprised SecPay/PayPoint didn't write this module. Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 I would be surprised if they had. Of the dozens of eCommerce solutions available, each having their own methodology of hooking into the overall structure in order to provide a means to pay for an order, would mean considerable effort to understand how to code a module for each of those solutions. I have seen available modules listed at payment provider sites, but I would have to suppose they are posted there as a convenience for the eCommerce solution provider who actually wrote the module - and not that the provider wrote those modules. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 I guess it's safe to assume that I'm the first to use SecPay/PayPoint on CC6 ? Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 Or that you are first to have a care about getting customer data sent to the payment provider that the customer does not or will not enter into the processor's form while making payment. Just a guess about the customer. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 Without it, I can't use it. The office staff rely heavily on on the information being accurate. I'm extremely surprised that the dozen or so payments that went through, actually did so. Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 Please try this. In the file /modules/gateway/PayPoint/gateway.class.php: Find: $hidden = array( 'trans_id' => 'CC5'.md5(time().(rand(0,32000)*rand(0,32000))), 'merchant' => $this->_module['merchant'], 'amount' => $this->_basket['total'], 'callback' => $GLOBALS['storeURL'].'/index.php?_g=rm&type=gateway&cmd=process&module=PayPoint&cart_order_id='.$this->_basket['cart_order_id'], 'options' => $test_mode.'currency='.$GLOBALS['config']->get('config', 'default_currency').',cart=cubecart', Add after that: 'bill_name' => $this->_basket['billing_address']['first_name']." ".$this->_basket['billing_address']['last_name'], 'bill_addr_1' => $this->_basket['billing_address']['line1'], 'bill_addr_2' => $this->_basket['billing_address']['line2'], 'bill_city' => $this->_basket['billing_address']['town'], 'bill_state' => $this->_basket['billing_address']['county'], 'bill_country' => $this->_basket['billing_address']['country_iso'], 'bill_post_code' => $this->_basket['billing_address']['postcode'], 'bill_email' => $this->_basket['billing_address']['email'], 'bill_tel' => $this->_basket['billing_address']['phone'], 'bill_url' => $GLOBALS['storeURL'], 'ship_addr_1' => $this->_basket['delivery_address']['line1'], 'ship_addr_2' => $this->_basket['delivery_address']['line2'], 'ship_city' => $this->_basket['delivery_address']['town'], 'ship_state' => $this->_basket['delivery_address']['county'], 'ship_country' => $this->_basket['delivery_address']['country_iso'], 'ship_post_code' => $this->_basket['delivery_address']['postcode'], Save. These additional bits of info is taken from CC3's module, so I have to assume the names of the info (bill_name, ship_post_code, etc) are still correct. I did not confirm with the API document. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 I placed a dummy order and 90% of the info is there. It seems to have dropped a bit from the shipping address and the cart order _id is still wrong. Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 Ok, the delivery address First and Last name is still needed, and the actual cart order id: Find this: 'trans_id' => 'CC5'.md5(time().(rand(0,32000)*rand(0,32000))), Change to: 'trans_id' => $this->_basket['cart_order_id'], Find the line that starts with: 'ship_addr_1' Add before that: 'ship_name' => $this->_basket['delivery_address']['first_name']." ".$this->_basket['delivery_address']['last_name'], Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 Excellent, it works. Maybe this should be saved to the extensions plugins on the marketplace ? Incidentally, the wife is going to love me putting dummy orders on my own card Quote Link to comment Share on other sites More sharing options...
Dirty Butter Posted March 7, 2016 Share Posted March 7, 2016 Great to hear it's now working! Can you login as the dummy customer and cancel the orders? Does this payment gateway allow you refund a payment as the seller or cancel the order as the customer? This would be easy to do with PayPal. Quote Link to comment Share on other sites More sharing options...
bsmither Posted March 7, 2016 Share Posted March 7, 2016 I will mention this in an Issue I will post in the Github. Quote Link to comment Share on other sites More sharing options...
keat Posted March 7, 2016 Author Share Posted March 7, 2016 I already refunded the payments from the PayPoint portal. I've made the gateway live again, no doubt we will find out tomorrow for certain, but I'm confident. Quote Link to comment Share on other sites More sharing options...
Dirty Butter Posted March 7, 2016 Share Posted March 7, 2016 Please confirm when you have a real order correctly handled. Quote Link to comment Share on other sites More sharing options...
Al Brookbanks Posted March 8, 2016 Share Posted March 8, 2016 Thanks guys, these changes have been rolled into the 1.0.1 release. https://www.cubecart.com/extensions/payment-gateways/paypoint Quote Link to comment Share on other sites More sharing options...
keat Posted March 8, 2016 Author Share Posted March 8, 2016 We've taken more than a dozen orders today, and it seems that it's working as planned. Quote Link to comment Share on other sites More sharing options...
Al Brookbanks Posted March 8, 2016 Share Posted March 8, 2016 Great! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.