Omnipay Sagepay - opayo

I am trying to workout how to get the fraud screening result from Sagepay.
Can see there is a 'FraudResponse' however testing via the test Sagepay gateway I seem to be in the dark.
No fraud screening scores are shown when I log into sagepay is the start of the issue I think! Any way to mock these?
Thanks!

It's a bit unclear what you are talking about.
The FraudResponse field is for the premium 'ReD' fraud screening service (which returns results in realtime). Sage Pay can get this working on a test basis, but will cost £££s! The T3M service (which is bundled with Sage Pay) has a delay, so the Fraud response is not returned with the transaction response.
Unfortunately, the Sage Pay test gateway is not connected to the Third Man test system, so even after the time lag, you won't get the results anyway (which have to be accessed via My Sage Pay or the Reporting API).

Related

Braintree & Taxamo integration, how to do it right?

Yes, Braintree and Taxamo have a couple of widgets facilitating their integration, but the way they work they are tied to the process of authorization of a credit card while what the tax services are interested in are SETTLED transactions (i.e. what is actually billed from the client at the end of the day),
settled transactions aren't the same thing as authorized transactions, voids, IO problems in API communication, client-side software bugs, even credit card company policies (chargebacks, presentment rejections etc) result with what is authorized not being equal to what is settled / billed,
special world of pain continues when you consider the complex formulas for mid-cycle subscription updates (proration), discount and addon calculations and the fact that none of my subscription API calls done using the sandbox don't have a transaction object (so I don't know the amounts being billed from the client),
meaning I have to reimplement a bunch of advanced logic done by Braintree to deduce what the client will see on his bank statement and hope to have gotten everything right, or have IRS on our back -_- (in Croatia companies get blocked over 1-3 euro imbalances in the tax reports)
So the question, am I missing something here?
is there a simple way to submit to Taxamo only settled transactions?
does maybe the sandbox and mock webhooks behave differently than production, is it possible that Subscription API calls and webhooks in production return a transaction object and that I just don't see it?
does the current Braintree and Taxamo integration at least "kind of work in practice 100% of the time" and I'm worrying too much?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
Braintree and Taxamo don't have an official integration package (the widgets available are not supported by Braintree, and Braintree had no hand in developing them). However, the two can be, and often are, used alongside each other. Because there's no official integration, the two integrations don't interact with one another, and the logic concerning when any action in Taxamo should take place in relation to an action in Braintree is up to a user to implement.
With that in mind, there's no 'out-of-the-box' solution to submit only settled transactions to Taxamo. Braintree does offer settlement batch summary reports, which contain the transactions that settle every night. Using the information there, you could submit your transactions to Taxamo every night alongside the settlement batches. However, be aware that transactions don't always settle immediately, so there will be a gap between the time that you submit a transaction for settlement and the time you submit the transaction to Taxamo.
Alternatively, you could store the transaction in Taxamo immediately and keep track of the transaction key that Taxamo generates to reference the tranasction. Then, if anything happens that prevents the transaction from settling, you can delete that transaction in Taxamo.
These are just two options to consider for an open-ended problem. As always, you should evaluate your business needs carefully, and do whatever you believe will work best.
As BladeBarringer mentioned in the comments to your question, the subscription response object does contain an array of transactions that you can reference. The most recent transaction is always at index [0] of that array.

How to develop new site with Sage Pay

Note: Not sure if this is the best site for this question but didn't think it was suitable for Super User etc.
I have a client with an e-commerce site built using Sage Pay. I am in the process of developing their brand new website which will also be using Sage Pay.
I am aware that if you run any transactions on the test Sage Pay server your Sage Pay account will stop taking payments. See 'If you are already set up on Live and are testing additional functionality, DO NOT leave your kit set to Test or you will not receive any money for your transactions!' from the Sage Pay docs.
My question is how can I develop my integration with Sage Pay in a safe environment which won't have any detrimental effects on the clients live Sage Pay site.
The Sage Pay simulator sounds perfect for what I am trying to do but this has not been updated to use the current protocol and I've been told there is no release date as of yet for the new version.
Thanks
I think the quote above is from one of the comments in the integration kit. Essentially, it is a warning that if you change your integration, to point at the Sage Pay test server, you won't be taking much in the way of payments.....
As long as you have a separate test integration, pointing at the Sage Pay test server, the production site will continue to operate as usual.
The test and live accounts aren't linked - the live environment won't know (or care) that there are test transactions being made from another integration.

Spring - Payment Gateway integration

I am trying to develop a proxy for a local payment gateway (i.e.: users will use our system to pay and the real payment gateway will be hidden). What is the best way to post calls to the payment gateway from our system? I was thinking of developing a service and use httpclient (post method over ssl) any ideas? or sample code?
the system could become complex coz I have transations and the http call would be part of them (call payment gateway, insert data locally, update some other records in db...etc..) and I was thinking of developing a special log to update it whenever any operation is successful if it is not I save it and process it later via cron ! is this a good architecture?
Answer to your question is too subjective. What you've described is basically how most payment-related websites are built.
As for payment gateway, you can refer http://git.springsource.org/spring-payment/spring-payment/trees/master.
You can first create the basic design i.e. the DB structure and such. Once that's done, you can start developing with a stub. That'll help you validate your assumptions related to payment gateways. Once that's done, and everything's working fine, you can move on a real payment gateway.
In the meanwhile, you can visit payment gateway providers/Banks in person or online, and see which one works for you best. By the time you get the permission and all the formalities are in place, you'll hopefully have your system ready. You can then integrate your system with the real payment gateway.

Magento and PayPal Website Payments Pro errors

Our Magento store uses the Website Payments Pro payment gateway through PayPal. For the most part this works pretty well. Occasionally (about once a day), we get failed transaction emails and the errors are very generic (i.e. "Internal Error" or "There was an error processing your order. Please contact us or try again later."). I've been working with our PayPal rep, but he has not yet been able to figure out why. This doesn't happen with every transaction, and typically if the customer re-submits the order it will work the second time. This has been very frustrating for me as the developer, my employers, and the customers who see the same generic error message in a popup dialog box.
My questions are as follows:
Is this normal for a site that gets about 300+ orders/day?
Are we at the mercy of bugs in the PayPal system?
Do any of you have experience with similar problems? Or, on the contrary, do you have experience with a site that gets at least as much traffic and never has any errors with PayPal?
I'm at a loss for what to do. I want to believe that it is not an error in what we are sending to PayPal. But if every client using PP as their gateway experienced this much pain I would think someone with a loud enough voice would be pushing for improvements. I don't have any experience with other payment gateways, so perhaps PP is the lesser of all evils...
you certainly need to be prepared for issues like this and error messages for clients need to be clear and informative what to do if error happens.
yes you are and this can't be only paypal issue this can be n of issues with network latency user interaction etc.
there are n amount of sites experiencing this as the system is engineered with lot of break points and you can't assure that issues do not happen on 3rd party system or sites and you can have several precautions to avoid that by doubling the payment methods with several gateways etc.

SMS alerting to respond to error situations faster

What is the easiest way to set up an SMS alerting system so that I will receive notification if my server doesn't respond or a GET query doesn't return correct content?
You can completely outsource the monitoring and alerting, for example by subscribing to Pingdom. The most basic Pingdom plan will monitor up to 5 services (including using HTTP GETs with optional content pattern matching) and send an SMS after a configurable amount of downtime.
If you want to roll your own solution, the first thing to get right is the monitoring software. Many, many third party solutions exist for this, from the free to the outrageously expensive. Of course, rolling your own "try a GET and do something if it doesn't work" script is always an option, but as with all software, feature creep may mean that you're just re-implementing existing solutions soon...
For the SMS notification, using an e-mail-to-SMS gateway might work for you, if you're in a territory well-served by such services. Most US providers, for example, provide free gateways, whereas in Europe they tend to be run by third parties and pay-only. As already suggested, Google is your friend here. Also, your monitoring tool may support sending notifications directly using a cellphone/GSM modem attached to the monitoring server.
Often I've found that what you need is a SMS modem attached directly to your monitoring server. What if the problem is the network connection?
What you want is an SMS gateway. There are surely some service providers local to you. Unfortunately, they are a bit hard to find. Try asking Google...
You can get a service like http://www.serviceuptime.com/ and the send an email to your-number#a-domain-your-provider-gives They usually have the exact domains for the providers on their respective websites but you could just try #t-mobile.com if your provider is t-mobile for example.
If you want to write your own tool should be pretty straightforward - send GET request if you dont get the expected response send email. You should run it from 2 different locations from 2 different ISPs tho because if there are routing problems and the request doesnt go through you'll get smsed

Resources