Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Pay by phone 1

Status
Not open for further replies.

trinetintl

Vendor
Mar 15, 2010
730
US
I have come across a super interesting project, we have a customer with an IPO and VM Pro that would like to implement his billing vendor pay by phone solution. The billing vendor already called me and asked me a couple of simple questions to see if the PBX was able to do basic things such as speak back a text to a caller and query databases. After the interview the billing vendor emailed me 3 or 4 API scripts that I think are on visual basic, unfortunately the only thing I got were the scripts, no instructions or manual on how to make this work with an IP Office or VM Pro system. I have to confess that I do not have the slightest clue on where to start? Can VP Pro handle this? Any ideas on how can I tackle this project or if anybody out there is willing to work with me? The billing vendor told me that he has other customers running it on Avaya systems, problem is that he doesn’t know what kind of systems.

RE
APSS - SME
ACIS - SME
 
Most likely yes. (assuming this is a credit card thing -> One of the old exercises had a pay by phone-module)

Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
Very likely this is possible with an Advanced (or Preferreded on 9.1+) with the DB integration. I've never done it but I wouldn't mind trying.

 
As long as your VM Pro is installed on a Windows Server you can use VB Scripts and DB integration, done this for a couple of customers.

PS. None of the menus on your website work unless you go to =)

"Trying is the first step to failure..." - Homer
 
Of course they will need to make sure all the bits for PCI compliance are covered. Digit captures, encryption, not storing of CCV numbers etc

Robert Wilensky:
We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true.

 
@janni78, yes I am aware of it, we had our page hacked and had to move it to a new server in a hurry. We flattened the joomla site to regular HTML and noticed the error after it was up, now what we need is just a little bit of time but as long as interesting projects like the one I am describing here keep coming up, I am not sure when we are going to get around to fixing it. Yes, VM Pro is on Windows 2008 if I am not mistaken. Is there anyway we can get in touch with me to discuss or can you give me some pointers on how this is supposed to be implemented? Now that I think about it, I am going to have to fix the links on our website for you to be able to get our contact information. I am aware that scripting or programming will be involved and this is the reason I am looking for help, please note that I did some serious programming while in collage but it was on C and C++, kind of gives away how long ago that was, but moved away from that world since.

@Sympology: Yes, the billing vendor it taking care of that, he is just waiting for us to get to phase one and then he will release the necessary credentials for the encrypted link.

@randycaroll: 9.1 is not possible because has a V1 controller, although I am almost sure he purchased a V2 controller some time ago for a different project and he never used it. I was also thinking advanced edition because if I am not mistaken VB Scripting required advanced edition, right?

RE
APSS - SME
ACIS - SME
 
You'll need Advanced Edition unless you upgrade to 9.1.

I guess they have a webservice that handles this so that would need to be contacted from the VBScript function in VM Pro.
Then you need to handle the results in VM Pro.
Did they send any API description? I assume their VBScripts aren't adapted to VM Pro since the use some special variables.

"Trying is the first step to failure..." - Homer
 
The vendor sent us generic APIs and expected us to figure everything out or if not to call Avaya for help. Since they do not have Advanced edition we are probably going try and do everything here on our demo unit and once we get it to work then we will consider upgrading his V1 to Advanced Edition and/or replace the controller with the unused V2 and port the licenses and finally upgrade it to 9.1. Anyway, we are still trying to figure out how to get started.

RE
APSS - SME
ACIS - SME
 
I'd go for a new chassis, you get way more bang for the buck and it will be a cheaper approach.

When they ask for an audio feedback to the caller, are these just a handful of standard prompts or are they expecting TTS?
Normally there would be a few static messages and read back of the card details (which the generic TTS should handle just fine)

The VB script is harder to get right without seeing the full picture.

Here's a screenshot of a credit card mod for a book company:

database%20book%20buy.zoom70.png


You'll find more here: KB

Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
OK here is part of what is in some of the excel sheets that I received, since I am not sure 100% if I am alowed to disclose this information I am changing some of the names.

The notes on the first sheet named General Specifications for API I see the following note:
"All calls to billing API will be made over HTTPS and using client SSL certificates. Refer to document titled 'Install_Use_Certificates_into_Server.pdf' for instructions on installing the certificates on a web server running IIS. Sample code written using C# is provided in the same document."

I am also noticing that this is not Visual Basic it is on C#, my guess it that this is going to be a problem, right?

This is part of the sample Code:

class makeBillingServerCall {
public static void Main() {
string BillingCompnayClientSerialNum = "<BillingCompnay Client Cert Serial #>";
string BillingCompnayServerURL = " string BillingCompnayACX = "<BillingCompnay ACX>";
string BillingCompnayKEY ="<BillingCompnay Key>";
string BillingCompnayClient = "<Client Access Code>";
string BillingCompnayClientIP = "127.0.0.1";
string mode = "TEST";
string impdata = "<Billing Object with ACX, KEY, Client & Mode>";
string postData = String.Format(BillingCompnayServerURL+"?acx={0}&key={1}&impdata={2}&mode={3}"
, HttpUtility.UrlEncode(BillingCompnayACX)
, HttpUtility.UrlEncode(BillingCompnayKEY)
, HttpUtility.UrlEncode(impdata)
, HttpUtility.UrlEncode(mode));
HttpWebRequest req = (HttpWebRequest) WebRequest.Create(postData);
req.Method = "GET";
req.ContentType = "application/x- req.KeepAlive = true;
req.AllowAutoRedirect = false;
X509Store store = new X509Store(StoreName.My,
StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Ccollection certs = store.Certificates.Find(X509FindType.FindBySerialNumber,BillingCompnayClientSerialNum, true);
X509Certificate cert = new X509Certificate();
try {
cert = certs[0]; // or loop through the certificates you find and
determine which one to use
} catch(Exception e) {
// there is a problem
}
req.ClientCertificates.Add(cert);
req.PreAuthenticate = true;
using (Stream reqStream = req.GetRequestStream()) {
reqStream.Write(buffer, 0, buffer.Length);
}
string respString = String.Empty;
try {
using (WebResponse resp = req.GetResponse()) {
Stream responseStream = resp.GetResponseStream();
using (StreamReader responseStreamReader = new
StreamReader(responseStream, new ASCIIEncoding())) {
respString = responseStreamReader.ReadToEnd();
}
}
}
catch(Exception ex) {
// there is a problem
}
Console.WriteLine(String.IsNullOrEmpty(respString) ? null : respString);


Under the Make Payment API I have a list of about 30 input fields such as Customer_FirstName, Field Length=50, Filed Attribute=Required

Under responses I sample filed is ProcStatus, If Empty string then Success, Else contains the exception msg, N-Error processing payment, see PorcStatus for additional messages, E-Error processing payment; see APP_MSG for details, Y-Success; see CONF_MSG for confirmation data; has conf # in html sting - parse to get details.

It see a Sample & Mapping, this is part of what I see

"Data: [
{
PAY: [
{
""SCHED_TYPE"" :""C""
,""SCHED_PAY_AMOUNT"" :""0.50""
,""CARD_NO"" :""111112222222222111111""
,""ACCT_NO_CODE"":""123""
,""CARD_TYPE"" :""Visa""
,""CUST_FIRSTNAME"" :""Test""
,""CUST_LASTNAME"" :""user""

I think I know how the process works and if I had to do this like six million years ago when I was in collage I can probably do it in a heart beat in C++ but I am having a hard time visualizing this happening in Voicemail Pro. I understand what I need to do to capture the information, that should be rather simple although I am having a hard time understanding why the Customer First Name and last name is required and how they heck the billing company expects the customer to punch in their name on the key pad. I am not very sure how do you use the variables when running the script from a VBScript but I think I can figure that one out, however I cannot visualize how I am going to receive the Data and parse it to obtain the confirmation number as an example.

RE
APSS - SME
ACIS - SME
 
Ouch! DTMF'ing the name in?
If I was the caller, I'd tell them to F... off [smile]
(Imagine the key-hammering if you have a special character in your name.)


Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
After reading your post I looked at the other required fields, I am going to have to check back with them because it is not right, maybe they expect the VM Pro to turn a voice input into text because it is showing as required the address1, address2, city, state, zip, country, account number, another customer name.

RE
APSS - SME
ACIS - SME
 
This would work if caller is registered in your database, and the purpose is to only update card details.
STT...I've yet to see one that handles names very well.

Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
As Gunnaro says it will only be doable if you can get the customer info from a database based on for example a customerID before they enter their credit card details.

As for the C# part I would probably use the code to build a webservice in C# and then use VBscript from VM Pro to call that webservice.
You could rewrite it in VBScript but VM Pro is not something you wanna code long scripts in, just ask a question and get an answer =)

For this to be user friendly (although I would rather speak to an agent) it should be something like

- Enter CustomerID
- Enter CC number
- Enter MM/YY
- Enter CCV

The question is how much work is the customer willing to pay for and will their customers actually use it?



"Trying is the first step to failure..." - Homer
 
I found a DevConnect partner that specialize in this pay by phone solutions, I went ahead and contacted the partner, received a preliminary proposal that I promptly forwarded to customer and he told me it was too expensive. I think I may have to let it go, the VB Scripting is the one that kills me, I do not have any experience with it, not comfortable enough.

RE
APSS - SME
ACIS - SME
 
What did the price say? =)

"Trying is the first step to failure..." - Homer
 
Probably "Credit card, please - we'll suck it dry"

Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
Based on what I told the DevConnect Partner he estimated between 15K and 25K, I personally think it is a little bit excessive but they do everything outside VM Pro, they have their own solution that talks directly to IP Office.

RE
APSS - SME
ACIS - SME
 
US DOLLARS??!!

On the other hand, if they have their own IVR software you're paying for that as well as the development.
Then you'll need support on that which I assume adds onto that.

"Trying is the first step to failure..." - Homer
 
...And 3 months after install everyone starts using internet to put in their details.
Can't say I've ever bumped into something like this in Europe, not even in the dodgy end (Greece).

Kind regards

Gunnar
______________________________________
Mille viae ducunt homines per saecula Romam

2cnvimggcac8ua2fg.jpg
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top