The present invention relates generally to transaction processing and, more specifically, to processing a transaction between a vendor and a user via an electronic terminal connected by a communication line to a communication network.
An increasing number of vendors are offering goods and/or services which may be purchased via a communication network such as a telecommunication network. For example, a purchaser may conduct a transaction via a subscriber line using a landline telephone or a personal computer via the Internet. Conventionally, credit or debit card details are furnished by the purchaser to the vendor to effect payment for the goods and/or services. As many purchasers are hesitant to supply credit or debit card details over a communication network, an alternate method of payment would be advantageous. However, if an alternate method is used, verification of the payment method should preferably take place prior to concluding the transaction.
In accordance with the invention, there is provided a method of processing payment for a transaction, the method including:
providing a user with an option, via an electronic terminal, to select payment for the transaction from an account associated with a communication line to which the electronic terminal is connected;
receiving a user request entered into the terminal to process payment from the account;
investigating data associated with the communication line; and selectively approving the transaction dependent upon an outcome of the investigation.
Further in accordance with the invention, there is provided a method of modifying a financial instrument record, the method including:
receiving transaction data entered into an electronic terminal connected via a communication line to a communication network;
obtaining a unique identifier associated with the communication line; and
combining the unique identifier and the transaction data to form a financial instrument record.
Still further in accordance with the invention, there is provided a method of validating a transaction conducted using an electronic terminal connected via a subscriber line to an electronic network, the method including:
receiving a financial instrument record associated with the transaction;
extracting a unique identifier from the financial instrument record, the unique identifier being associated with the communication line; and
interrogating at least one database based on the unique identifier to obtain data associated with the subscriber line and selectively generating a validation status.
The invention extends to a transaction processing system for processing a transaction between a vendor and an electronic terminal connected via a communication line to a communication network, the system including:
an application interface for providing a user, via the electronic terminal, with an option to select payment for the transaction from an account associated with the communication line, and receiving a user request entered into the terminal to process payment from the account; and
a modification module connected to the application interface, the modification module generating a record which includes a unique identifier associated with the communication line and communicating the record to a validation module which validates the transaction based on data associated with the unique identifier.
The invention also extends to a transaction processor interface for processing payment of a transaction, the interface including:
an application interface for providing a user with an option, via an electronic terminal, to select payment for the transaction from an account associated with a communication line to which the electronic terminal is connected, and for receiving a user request entered into the electronic terminal to process payment from the account; and
a modification module for creating a financial instrument record which includes a unique identifier associated with the communication line.
The invention extends further to a transaction validation module for validating a transaction conducted using an electronic terminal connected via a communication line to an electronic network, the module including:
an extraction module for extracting a unique identifier from a financial instrument record associated with a transaction, the unique identifier being associated with the communication line; and
a processor module for interrogating at least one database based on the unique identifier to obtain data associated with the communication line and selectively generating a validation status.
Further in accordance with the invention, there is provided a computer program product including a medium readable by a processor, the medium carrying instructions which, when executed by the processor, cause the processor to:
provide a user with an option, via an electronic terminal, to select payment for a transaction from an account associated with a communication line to which the electronic terminal is connected;
receive a user request entered into the terminal to process payment from the account;
investigate data associated with the communication line; and
selectively approve the transaction dependent upon an outcome of the investigation.
Still further in accordance with the invention, there is provided a computer program product including a medium readable by a processor, the medium carrying instructions which, when executed by the processor, cause the processor to:
receive transaction data entered into an electronic terminal connected via a communication line to a communication network;
obtain a unique identifier associated with the communication line; and
combine the unique identifier and the transaction data to form a financial instrument record.
Still further in accordance with the invention, there is provided a computer program product including a medium readable by a processor, the medium carrying instructions which, when executed by the processor, cause the processor to:
receive a financial instrument record associated with a transaction conducted using an electronic terminal connected via a subscriber line connected to a communication network;
extract a unique identifier from the financial instrument record, the unique identifier being associated with the communication line; and
interrogate at least one database based on the unique identifier to obtain data associated with the unique identifier and selectively generate a validation status.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
The invention is now described, by way of non-limiting example, with reference to the accompanying diagrammatic drawings.
In the drawings,
Referring to the drawings, reference numeral 20 general indicates a system for processing payment of a transaction. The system 20 includes a merchant or vendor 22, a plurality of client interfaces in the form of electronic terminals 24 (only 1 of which is shown in the drawings), a plurality of telephone companies (Telcos) 26 (only 1 of which is shown in the drawings), and a transaction validation and processing facility 28 including a transaction validation and processing module 30 (see
The system 20 is typically configured for use in an Internet environment in which a plurality of vendors 22 offer goods and/or services for sale on the Internet via the electronic terminals 24 which are typically personal computers (PCs). It is important to appreciate that the modules 30, 32 describe functional modules or capabilities which may be implemented by a variety of different hardware and software combinations.
Conventionally, and as shown in
Referring in particular to
Referring in particular to
Once the user has accepted the terms, the API 56 then provides the user with a display screen 74 which allows the user to select various different methods of payment for the transaction. For example, the display screen 74 includes a “Visa” button 76, a “MasterCard” button 78, “American Express” button 80, and a “bank account” button 82. However, unlike conventional systems, the system 20 provides the user with a “phone bill” button 84 whereby the user can charge the transaction to the telephone account 34 (see
If the user selects the option to pay via the telephone account 34 by activating the “phone bill” button 84, the API 56 then provides the user with a screen display 86 (see
The BTN which the user enters into the form 66 should correspond with the subscriber line 96 (see
The user's request, via the electronic terminal 24 and via the subscriber line 96 (which may be any communication line associated with the account 34), is then communicated to the CMS 58 which then formats the request to form a request record with information provided by the user via the electronic terminal 24 (see block 98 in
However, if the “phone bill” button 84 has been activated and a credit card number is not present in the record, the CMS 58, in combination with the modification module 62, modifies the credit card record to include the telephone number identified by the ANI module 60. Accordingly, the credit card or financial record communicated from the vendor 22 to the transaction validation and processing facility 28 substantially resembles a conventional or industry standard credit card record except that, instead of a credit card number, the telephone number associated with the subscriber line 96 is included (see step 104). In the embodiment of the invention in which the credit card number has been replaced with the telephone number, and as the record substantially resembles and industry standard credit card record, existing or conventional customer management systems may be used to process the transaction. Thus, the CMS 58 may be a conventional customer management system.
The application interface and modification module 32 of the vendor 22, communicates the transaction record to the transaction validation and processing module 30 of the facility 28 via the communication module 64. The module 30 then receives the record as shown at step 106 whereafter it is processed. The transaction validation and processing module 30 (see
The processor module 110 first checks, at step 114, if all the information required for validation has been furnished by the vendor 22 and, if not, the request is returned to vendor 22 as shown in step 116. If, however, all the information required by the module 30 is present in the record, the credit card record received is then parsed and the billing telephone number (BTN) is extracted from the credit card record and formatted into a validation request as shown at step 118. Thereafter, as described more detail in
The method described above broadly translates a record requiring validation from an existing financial instrument form, e.g., a credit card form, to a form that is suitable to be validated based on a unique identifier associated with the subscriber line 96. Although the description above, and the more detailed description below, describe the translation from a credit card record to an appropriate record to validate a ANI/BTN, it is to be appreciated that any data associated with a financial instrument may be translated into a BTN format and, in response to validation of the BTN, the transaction may be processed. Further, the validation of the BTN may take place one or more times during the life cycle of a transaction. For example, the validation process may be executed when the user or customer request the transaction to be included in the telephone account 34 as described above and, when the facility 28 receives a plurality of billing events or transactions at the end of a bill cycle, the facility 28 may once again validate the transaction.
In certain embodiments, the user or purchaser drives an authorization event in order to establish whether or not the transaction can be billed to the telephone account 34. In this case, the Billing Telephone Number (BTN) defines the credit instrument requiring authorization for billing. The CMS 58 may then drive the request to the facility 28 in the same format as it would to a Credit Card Authorization System. An example of the conversion of a credit card billing request to a BTN validation record is described in more detail below.
1. Credit Card Authorization Request to Billing Telephone Number Validation Request
2. Billing Telephone Number Validation to a LIDB Request Record
If the Phone number passes a series of validation checks, it will then be checked against the LIDB database. In order to do that, the record must be translated in to a format specific for the LIDB process.
3. LIDB Response Record to a BTN Validation Record
Once the information is received from LIDB, the record must be translated back into a format that the Phone Number Validation System can read so the process can continue with additional checks to the phone number.
4. BTN Validation Response Record to a Credit Card Authorization Response Record
At the conclusion of the Phone Number Validation Process, the results must be sent back to the CM System so the results can be returned to the purchaser and updated in the CM System. The BTN Validation response must be converted to a format that the CM can interpret. The BTN Validation Response Record is translated to the Credit Card Authorization Response Record for this phase of the purchase.
Referring in particular to
At the same time, transactions or billing events which have been validated as billable and thus capable of being included in the relevant telephone account 34, are translated into an electronic message interface (EMI) format appropriate for the Telco with which the telephone account 34 is associated (see step 154). The EMI formatted file is then transferred to the Telco for billing as shown in step 156 whereafter the Telco call places each billing event on telephone account 34 associated with the subscriber line 96. Typically, the Telco returns any records that can not be billed to the telephone account 34 or that have already been billed and credited, or written off because of non payment to the facility 28 as shown at step 160. The records received by the facility 28 are in the EMI format and the facility 28 translates the record to a credit card return record including a reason code appended to the record, as shown at step 162, whereafter record is returned to the CMS 58 at the vendor 22.
An example of the billing event record conversion in which a credit card billing request is translated into a BTN billing request is set out below.
1. Credit Card Billing Request to a BTN Billing Request
Once the purchase event has been slotted for billing, it enters the billing stream for that bill cycle. In certain embodiments, daily bill cycle records are sent to the appropriate processors. As described above, the transaction validation and processing module 30 may receive the record in the same format required by a conventional credit card processing facility.
In certain embodiments, the first step in the bill cycle is to re-validate the billable status of the BTN. This is done by following the same steps in the BTN Validation process set out above. The first step is to convert the record to a BTN Validation event record.
2. Phone Bill Billing Record to Credit Card Billing Response Record
At the conclusion of the revalidation during the billing process, a different response record may be written to a file. That record is typically in a format according to the Credit Card Billing Response format.
3. BTN Billing Validation Record to a Phone Company Deposit Record
At the same time the Billing Response is returned, all accounts that were validated as positive may be formatted into a record that is acceptable at the Telephone Company for processing.
4. Negative Billing Event Records to Credit Card Negative Event Records
These BTN Billing Records are deposited at a Telephone Company for processing on to the bill page. If a charge is unable to be placed on the bill page, the event must be converted in to the Credit Card Negative Billing Event format for processing. In addition, any other negative information, such as a credit of a charge or the write-off of bad debt, must be converted to the appropriate Credit Card formats for processing by the CM. Thus, if inclusion into the telephone account 34 fails for some reason, the transaction then gets charged to the financial instrument or credit card and an industry standard credit card record is created by the module 30.
The CMS 58 typically knows how to handle the negative event by the file name that contains the records and the response code within the returned records. The file name and response codes are in the industry standard credit card processing convention.
As mentioned above, the transaction validation and processing module 30 carries out a validation process on the telephone number associated with subscriber line 96 (see
Referring in particular to
The module 200 includes an application program interface (API) 214 which is connected to the vendor 22 or service provider (see also
The vendor 22 typically communicates a request to the module 200 and forwards the subscriber line number, determined by the ANI service, to the module 200 via its API 214. The module 200 then processes the information received from the vendor 22 and provides a validation status, e.g. a code indicating a valid billable number or a code indicating that the line number is not a valid billable number (unbillable or non-billable). In particular, a plurality of codes associated with various statuses of the subscriber line 96 are communicated to the vendor 22 as described in more detail below.
The module 200 includes hardware and software to implement the invention. In particular, the module 200 includes a comparator module 218, a threshold database 220, an OFFNET database 222, an ONNET database 224, a competitive local exchange carrier (CLEC) database 226, a 42 BLOCK database 228, a block and cancel database 230, an unbilled and/or unpaid bills database 232, line identification database (LIDB) short term cache 234, a validity check module 236, a regional account office (RAO) database 238, an operating company number (OCN) database 240, an ONNET database 242, an address verification database 244, customer account record exchange (CARE) results database 246, an ANI watch database 248, and an NPA (Numbering Plan Area) exchange database 250. It is to be appreciated that, in less sophisticated embodiments of the invention, all of the above databases need not be included. However, for enhanced accuracy, all of the above databases are preferably included. Further databases may also be included further to increase the reliability of the validation process.
In addition to any one or more of the above databases, the module 200 is in communication via a conventional communication channel with an offsite or, in some embodiments, on-site line identification database (LIDB) host 252. The LIDB host 252 may include a line number portability (LNP) database. Typically, the LNP database may front end access to a plurality of industry standard LIDBs (e.g. 13 different LIDBs). The LNP database may however be a separate database. As described in more detail below, the module 200 communicates the subscriber line number to the LIDB host 252 which, in turn, communicates reference subscriber data in the form of industry standard LIDB codes back to the module 200 for processing. The module 200 then processes the LIDB codes to provide the vendor 22 with validation data relating to the subscriber line 96. Unlike conventional LIDB applications which use a LIDB to make decisions regarding destination subscriber lines or call completion decisions, e.g. decisions for calling cards, collect and third party toll services or the like, the module 200 is used to identify telephone numbers of originating subscriber lines.
Broadly, the module 200 includes a communication module formed by the application program interface (API) 214 which communicates with the communication module 64 (see
Referring in particular to
If the ANI and the BTN do match, the processor module 110 interrogates the threshold database 220 (see step 268) to ascertain whether or not the line number has reached its threshold (e.g., a predefined client threshold parameter such as an account threshold). If the line number has reached its threshold, the processor module 110 then generates a code 60, as shown at step 270, which is then communicated to the vendor 22 to indicate that the line number may not be granted service. In other words, the subscriber account cannot be billed for the goods and/or services requested by the user from the vendor 22.
If the threshold has not been reached, the module 200 then interrogates its OFFNET database 22 (see step 271) to check if the industry standard NPA/NXX and operating company number (OCN) of the subscriber line 96 is present in the OFFNET database 22. The OFFNET database 22 includes NPA/NXX and OCN combinations of operating companies with which the proprietor or user of the module 200 does not have billing and collections agreements to bill into the Telco's bill page associated with the subscriber line 96. Accordingly, the facility 20 is unable to include a charge in the account associated with the subscriber line 96 on behalf of the vendor 22 for the transaction.
If the line number is in the OFFNET database 222, then the processor module 110 generates codes 130 to 133 (see step 272) and communicates these codes to the vendor 22. The codes 130 to 133 indicate that the NPA/NXX and OCN for the particular line number 96 are not billable and, accordingly, charges for goods and/or services requested by the user cannot be included in the monthly telephone account 34 by the module 200. As shown in Table 2 below, the codes 130 to 133 provide an indication to the vendor 22 why the subscriber line 96 is not billable or deliverable. If the subscriber line number is not included in the OFFNET database 222, a check is conducted to see whether or not the subscriber line number is included in the ONNET database 224. This check is however optional in the embodiment depicted in the drawings, but may be mandatory if the module 200 does not include the OFFNET database 222.
Thereafter, as shown in step 278, the processor module 110 checks to see if the line number is found in a known CLEC table in the CLEC database 226. CLEC numbers are those line numbers that are known to have ported to a CLEC and, accordingly, the proprietor of the module 200 is thus unable to route these line numbers to the correct billing entities. If the line number is found in the CLEC database 226, then the processor module 110 generates a code 140 (see step 276) which is communicated to the vendor 22. The code 140 indicates that the BTN provided by the user is not billable for the CLEC and the module 200 can thus not charge the transaction to the subscriber account associated with the subscriber line 96.
If the line number is not found in the CLEC database 226, then the module 200 checks to see if the subscriber of the subscriber line 96 has requested a 4250 billing block as shown at step 278. In particular, the processor module 110 interrogates the 42 BLOCK database 228 and, if the number is located in the database 228, which indicates that monthly recurring charges (4250) charges are prevented from being billed to that line number, the processor module 110 generates a code 150 (see step 280) which is communicated to the vendor 22 to indicate that billing to the particular subscriber line 96 has been blocked.
If, however, the subscriber line 96 has not been blocked, the module 200 then checks at step 282 if the line number is located in the block and cancel database 230 and, if so, the processor module 110 generates codes 160 and 161 which are then communicated to the vendor as shown at step 284. The block and cancel database 230 includes requests from owners of subscriber lines, agencies, businesses, or the like that a service be canceled or blocked from further billing. Thereafter, the module 200 interrogates the unbilled and/or unpaid bills database 232, as shown at step 286, to check if there is a history of any unpaid bills and/or unbillable bills associated with the subscriber line 96. Unbillable bills relate to those subscriber line numbers where previous attempts have been made to bill charges to the subscriber account associated with the line number, and which have been returned as unbillable. If the processor module 110 locates the line number in the unbillable and/or unpaid bills database 232 then, as shown at step 288, a code 170 is generated and communicated to the vendor 22 to indicate that the line number was previously found to be unbillable and is still considered to be unbillable.
The processing described above conducts a preliminary investigation into the subscriber line number or ANI/BTN to provide an initial indication of whether or not the ANI/BTN corresponds with a billable subscriber line. Once the initial investigation has been conducted, the module 200 then uses the ANI to obtain reference subscriber line data in the form of LIDB codes from one or more industry standard databases in the form of the LIDB host or database 252. Examples of the LIDB codes used in the module 200 are shown in Table 3 below.
As shown at step 290, if the ANI is not found in the LIDB database 252, the module 200 cannot provide any validation data to the vendor 22 on this subscriber line and an appropriate code is then communicated to the vendor 22 as shown at block 292.
Once the LIDB database or host 252 has been interrogated, it returns industry standard LIDB codes and line number portability (LNP) data to the module 200 as shown in step 294 (see
As mentioned above, the LIDB host 252 may also provide LNP data to the module 200. The LNP data is used to identify subscriber line numbers that have ported to a CLEC. If a subscriber line has been ported to a CLEC, the billing ONNET status of the CLEC is verified in the CLEC database 226. The LNP identifies the facilities based CLECs which are CLECs that have been assigned all the line numbers for an NPA/NXX in a specific geographic territory. This type of CLEC would be in control of the cable, dial tone and billing envelope for that number. Typically, the LNP cannot be used to identify CLEC sellers which have resold the subscriber line under their brand, but still lease the cable and tone from an incumbent local exchange carrier (ILEC). Accordingly the facility 28 may be unable to process transaction data onto a bill page or telephone account 34 of the CLEC reseller bill page. In order to identify reseller CLECs, the module 200 compares RAO and OCN information, returned from the LIDB host 252, to data in the ONNET database 224. The OCN is the local Telco that owns the subscriber line number and the RAO is the office of the Telco that is responsible from a billing standpoint for the subscriber line number.
If the validity check module 236 determines that the response codes are invalid, the module 200 generates modified codes 180 to 999 (see step 298 and Table 2) which are communicated to the requestor or vendor 22 to indicate that the mapping of the LIDB codes to the modified codes concluded that the line is an unbillable subscriber line.
If the validity check module 236 confirms the validity of the LIDB codes and, in the event of the line number being a billable line number, the processor module 110 then checks the RAO database 238 to ascertain whether or not the RAO is billable, as shown at step 300. If the RAO is not billable, then the processor module 110 generates and communicates a return code 143 (see step 302) to indicate to the vendor 22 that the line number belongs to a CLEC which is not billable by the module 200.
In a similar fashion, at step 304 the processor module 110 checks to see if the OCN returned from the LIDB host 252 corresponds with a known CLEC or if the OCN corresponds with an OFFNET OCN and is therefore also unbillable. If the line number corresponds to an OCN that is not billable, a return code 142 is generated by the processor module 110 and communicated to the vendor 22 (see step 306).
If the subscriber line number has passed the RAO and OCN checks and, accordingly, it appears that the number is billable, the processor module 110 then checks to see if a new NPA/NXX and OCN combination for this line number is guidable to the correct local Telco for billing (see step 308). If the line number is not guidable, then the module 200 generates a code 141 at step 310 which is communicated to the vendor 22 to indicate that, even though the line number is billable, the facility 28 is unable to guide the billing information to the new Telco for billing. Accordingly, the telephone number is in fact non-billable insofar as the facility 28 is concerned and a decline status is therefore communicated to the vendor 22.
The abovementioned steps are carried out to ascertain whether or not the subscriber line 96 can be billed for the goods and/or services requested. However, to enhance the accuracy or reliability of the module 200, further checks or verification are conducted as described below.
In the event that the subscriber line number has passed or complied with the abovementioned checks, and has thus not yet been rejected, the module 200 performs address verification procedures at step 312. The module 200 then interrogates an address verification database 244 to compare the address or location data (e.g. a ZIP code) supplied by the user via the form 66 (see
During the address verification step 312, the module 200 interrogates a customer account record exchange (CARE) database (which can be an on-site database which is regularly updated), to provide enhanced reliability. In particular, the CARE database or information site is typically one or more industry standard offsite databases which allow consumers to select or change their long distance service provider. Local Telcos forward specific customer information to the LEC associated with the subscriber. The information communicated typically includes a new phone number, billing address, installation date, the person or organization responsible for the account, or the like.
As shown at step 316, the module 200 interrogates the CARE database or information site and CARE data is then loaded into CLEC and new line databases to perform certain fraud and billing checks. The CARE information investigation occurs after a successful validation event. Once the module 200 has validated the subscriber line 96, the subscriber line number data is sent to a CARE database provider hosting the CARE database 246 to obtain the BNA and age of the account. The information is typically returned within 48 hours and then processed. Care records that are returned without BNA and CLEC ACCOUNT codes are inserted into the CLEC database 226 for future reference. Accordingly, if the BTN is presented again at a later date, it will fail the CLEC check step (see step 274 in
The ANI watch database 248, which includes historical and adjusted information, is used by the module 200 to determine if the account has previously been adjusted (see step 316). Typically, this step includes ascertaining previous requests by the subscriber for credit, obtaining data on any written off amounts for charges that were billed to a bill page, or the like.
If adjustments have previously been made to the account associated with the subscriber line 96, the processor module 110 generates codes 1 to 5 (see step 318) to indicate to the vendor 22 that the adjustments have been made. If no adjustments have been made, the processor module 110 checks to see whether or not the line number has a business line indicator as shown at step 320. If the business line indicator is active, the module 200 generates a code 70 (see step 322) which is communicated to the vendor 22 to advise that the line is a business line. Thereafter, as shown in step 324, the processor module 110 checks to see if the subscriber line number has been in service for less than about 90 days and, if so, a return code 80 (see step 326) is generated to advise the vendor 22 who may then selectively decide whether or not to conclude the transaction. A database of new numbers may be updated with the new number.
Thereafter, the module 200 interrogates the ANI watch database 248 (see step 328) to ascertain whether or not the area code of the line number has been changed or is scheduled to change. This interrogation is typically for billing purposes only and is not used to decide upon the validity of the request. In this step, the vendor 22 requesting the validation typically updates the billing file with the new area code number, and the processor module 110 generates a code 110 (see step 330) to advise the vendor 22 of the scheduled change to the area code.
Once the line number has passed all the aforementioned checks, the module 200 then concludes that the subscriber line 96 obtained using ANI techniques is in fact a billable line and, accordingly, the transaction may be charged directly to the account of the subscriber. Accordingly, the module 200 then generates a code 000 (see step 334) which is communicated to the vendor 22. The code 000 defines an approved status following both a billable line number inquiry as well as several fraud checks which are carried out by the fraud control module 332. If the line number has passed the abovementioned checks and the return code 000 is generated, the process terminates at block step 336. Thus, step 336 defines the end of the process during which the various checks have been conducted on the subscriber line 96 to assess whether or not it is a billable subscriber line that charges may be billed to. Step 338 defines the last step to which the process jumps when, at any point during the abovementioned process, the line number is found not to be billable (e.g., a creditworthy decision was requested by the vendor 22) and the inquiry is accordingly terminated and the relevant code is communicated to the vendor 22.
The abovementioned steps are typically executed in real time. However, information sources that do not allow checks on the line number in real time may be are carried out subsequently on the line number. Typically, once the real time evaluation is carried out and the return code 000 is communicated to the vendor, and the vendor 22 decide to proceed with the transaction, transaction data is then periodically returned to the module 200 by the vendor 22 for a pre-billing validation check or actual billing. During actual billing the module 200 accesses an account folder of the subscriber line at the Telco 26 and inserts the charges due to the vendor 22 into the telephone account 34. As shown at step 340, line numbers are sent to the CARE database 246 to determine if the BNA is available at the local Telco 26. If the folder or telephone account 34 is not available, the local Telco 26 typically sends the BNA and codes as to why the number is unavailable to the facility 28. If the BNA is found in the CARE database 246, the processor module 110 then checks to see whether or not the account was created within the last 90 days as shown at step 342. If the account was not created within the last 90 days, then the business indicator is checked as shown at step 344 and the process ends as previously shown at step 346. If, however, the number was found in the CARE database 246, the account was created within the last 90 days, or has an active business indicator then the module 200 generates the appropriate codes which are communicated to vendor 22 and the process terminates as shown at step 348.
The above process has been described in terms of modified codes set out in Table 2 but, it is to be appreciated, that the mapping or translation of the LIDB codes may produce any other defined set of corresponding codes so long as the codes are mapped onto, or generated in response to, any one or more of the industry standard LIDB codes.
A summary of the codes generated by the module 200 during execution of the validation process is provided in Table 1 below.
Table 2 below provides the various actions which are executed in response to a modified validity code. The table provides a description and explanation of each code. Return codes 001 to 969 relate to failure codes which are generated by the module 200 prior to investigation of the LIDB host 252. Return codes 180 to 451 are generated during the LIDB code checks. In the event of the subscriber line 96 failing the checks carried out on it, the module 200 provides optional use of a credit card and, accordingly, Table 2 sets out codes which the module 200 generates in response to executing a standard credit card enquiry for a particular transaction. If the module 200, which is typically defined by a server and associated databases, is down, codes 994 to 999 are generated and communicated to the vendor.
As mentioned above, the module 200 translates the LIDB codes into modified verification codes as shown in Table 2. These modified validity codes are then mapped or translated. Table 3 below provides a list of the modified validity codes which are generated following the mapping carried out by the processor module 110 to translate LIDB codes to the modified verification codes set out in Table 1.
In the embodiment of the invention depicted in the drawings, regardless of the type of service provider or the type of validation request, all clients or vendors 22 typically need a profile so that the process or method carried out by the module 200 knows how to treat the request. The client or vendor profile is set up in a database which includes the indicators that are set for the type and tests for each request which will be subsequently received from the vendor.
In certain embodiments, the client or vendor profile is used to determine which validation request type to convert from or to, which validation checks should be performed on the ANI/BTN for the particular purchase event, which checks are to be performed for the pre-billing validation event at the time of billing, and the billing record conversion specifics for that client or vendor. Thus, the facility 28 may customize is validation procedures to suit a specific client or vendor.
For the both the validation events, the client profile check is typically performed in facility 28 prior to carrying out the validity checks. For example, the customer profile check may be included in step 98 (see
Additionally, the client profile is typically checked to see which billing record should be written for inclusion on the phone bill for that particular purchase. This may occur as the first part of step 218 in
The client profile can also be used to determine the type of billing record to convert from and the type to convert to for inclusion the telephone account 34 for the purchase or transaction. For example, the types of billing records may include a 425001 record for a monthly recurring charge; 010101, 010105, 010102, 010116 type records for detailed, usage-based events; and 415001, 410101, 410105, 410102, 410116 records for the credit records.
An example of software tables for implementing the steps in the method set out in the flow diagrams shown in
The first table shows the steps in the BTN test descriptions process. Typically, a set of core tests is run for each client. Additionally, clients may have some configuration options to identify the tests that best fit their program.
ON/OFFNET Family Tables (Billing Coverage)
The OFFNET table family contains OCN & NPA_NXX combinations where billing is not approved. If found, the BTN does not continue on the validation path.
The ONNET table determines if an NPA_NXX & OCN combination can be found among the billable combinations. In this case a match, allows the BTN to move further on the validation path. A no match will return a failure.
The CLEC table consists of CLECs that the proprietor, or user of the module 200, does not have billing contracts with. This table is specific to the line number. Sources dictate the fields that will be present for the record. A match here is considered a fail and does not continue.
The 4250 Block table consists of specific line numbers that cannot be billed for 4250-01 record types. A match in this table stops the validation movement.
BILL CONTROL Family Tables
The Unbills or unbillable table holds all the BTNs that have been sent to a subscribers bill page but could not be placed on the bill page for various reasons. A match here halts the validation sequence for the subject BTN.
Block and cancel tables identify BTNs that have requested a permanent or a Client specific block for billing. A match sends a failed response.
Validation Cache is a table that holds responses in order not to process duplicates (e.g., Submit pressed 10 times). A match here will return the code stored from a previous request.
LIDB Family Tables
LIDB is a third party that supplies information to the phone line number level. The module 30 typically tests and stores as many relevant fields as can be requested in a transaction.
The LIDB Validity Table translates the LIDB code into a billable or non-billable response according to predefined business rules. A fail here will halt the validation for the request.
The State specific table is a conversion from a true OCN to a known State Specific OCN that is billable. A match here will trigger the conversion, the BTN continues in the validation process.
The transaction log is the history of each transaction request and response that is processed through the validation system.
The TPM indicates that an NPA is in the permissive dialing period. A match here appends the record with the updated number for a record update.
Exhibit A
The following tests are optionally carried out in other embodiments of the invention.
Zip to NPA_NXX source allows for best 3 zips for an NPA_NXX combination. Tests show a 70% match rate. This rate has been improved by matching to position 1-3 of the Zip. The low match rate combined with the fact that a BTN is not a portable instrument, this test is not recommended for BTN validation.
The ANI Watch has BTNs that have been given an adjustment for charges by the Client, proprietor or user of the module 200 or the Telco. This is to help the client determine the credit score for the BTN.
Unlike conventional use of the LIDB database that uses the LIDB data to obtain information on a destination/termination or recipient location or subscriber unit, the module 200, in accordance with the invention, uses the industry standard LIDB database to obtain relevant information on the initiating subscriber line 96. The subscriber line reference data obtained from the LIDB database is then processed to generate modified validity codes, which provide a vendor with data to facilitate deciding whether or not a transaction should be processed. The LIDB/LNP database is queried as if a collect call event is occurring and a call is thus mimicked. The processing of the transaction typically involves communicating the relevant transaction data to a folder of the subscriber's account with a relevant Telco. The method of, and module 200 for, validating the billing account associated with the subscriber line allows, for example, a subscriber line to be used to validate and conclude a transaction instead of using a conventional payment techniques such as a credit card, debit card, bank account details or the like.
A current industry-wide problem is the lack of ability of a service provider to identify when a line subscriber has switched his service to a CLEC since the service provider may not have an existing billing arrangement with such a CLEC and may also not have a source for the BNA to allow for a direct billing solution. LNP databases were originally established for the purpose of directing call routing activities among facilities-based carriers and most telephone numbers ported to a CLEC do not involve a facility change (the CLEC may be simply reselling the incumbent LEC's facilities). This means that, for billing decision purposes, LNP queries usually provide an incorrect response.
The LNP queries are enhanced by analyzing and interpreting other field elements included within the query response. Specifically, certain values or, in some cases, the absence of certain values, in the Operating Company Number (“OCN”) and/or the Regional Accounting Office (“RAO”) fields, allows further accuracy in the validation response. While the definitions of the OCN and RAO field elements can be obtained from industry sources, their interpreted use in the validation process is unique to the present invention. Use of these additional data elements can improve the reliability of the validation event.
LNP results may be supplemented with CARE queries in LEC regions where LNP results are inadequate and CARE costs are not otherwise prohibitive based on the retail price of the underlying service. CARE provides a reliable result on CLEC-ported numbers since its basic purpose is to provide subscriber account information (such as billing name and address). Once a number is ported to a CLEC, the incumbent LEC no longer has subscriber responsibility and will, therefore, return an “unavailable” response, even if the LEC's dial-tone facility is still being utilized. This negative response is then used to generate a “deny” status on the subscriber based on the current lack of CLEC billing support.
The validation process is also supplemented through the use of internal databases built from information gathered throughout the billing and collection process.
It is important to appreciate that all of the steps in the method executed by the module 200 need not be executed in real time. Typically, after the approval code 000 has been generated by the module 200 at step 334 the module 200 terminates its pre-validation check routine as shown at step 336. At this point the module 200 may merely provide pre-validation data or verification data to indicate to the vendor 22 if the subscriber line 96 is billable. Thus the module 200 may, in a first interaction with the vendor 22 provide pre-validation data, and in a second interaction process billing information. During the processing of billing information the validation process may once again be executed. In certain embodiments, the first interaction may be in the form of a registration process during which the validation procedure is carried out to register a subscriber line 96. The vendor 22 may then conduct numerous transactions with subscriber and subsequent validation checks on the subscriber line may then only be carried out on a periodic basis as described above.
After the validation code has been sent to the vendor 22, and the pre-validation procedure has been complete, the module 200 then carries out the fraud checks on a non-real time basis (usually during the next 48 to 72 hours) as shown in steps 340 to 344. The information obtained during the fraud control checks, if necessary, is used to update the various databases. In particular, after a BTN has been successfully validated but before a billing event takes place, the CARE investigation steps 340 to 344 are executed. The module 200 is typically arranged to interrogate offsite CARE databases and the results of the enquiry are stored in the CARE database 246. Checks on the data received from the CARE databases are then performed whereafter one or more of the other databases may be updated with the results. For example, the CARE database 246 may be updated, new within 90 days information, business indicator information, or the like. CARE codes 2618 and 2619 typically indicate that the BNA is not available and that the LEC no longer owns the account.
The updating of the databases following the CARE investigation allows enhanced future checks by the module 200 in a subsequent pre-validation procedure or subsequent registration event validation event. The updated information may be provided to the vendor 22. However, if the BTN information returned from the CARE database 246 does not meet predefined criteria, the other databases of the module 200 are not updated.
When a purchase validation event or billing event is declined, fails, unbillable or is negative event for any reason, the purchaser is preferably apprised. The manner in which the failure is treated depends upon the point in time and the reason the transaction validation or billing event fails.
In certain embodiments, a business rule table drives the treatment method and course based on when the failed event occurred during the validation process and the reason for the failure. With a purchase validation event, the option may be provided to interact with the purchaser at the time of requesting the purchase. For example, the option to change failed information for a revalidation or to change to another payment option may be provided. An example of customer failure may be as follows:
At the time of a pre-billing validation event or a failed billing event, the interaction with the purchaser will be after the fact and is typically in a screen pop at the next sign-on and in email form. In certain embodiments, there is a preset length of time to correct the failed information for a revalidation or change to a new payment method.
Once the treatment period passes, the account access is typically denied and more traditional ways of saving, winning back, and reactivation or collections activities would take place.
In the embodiment described above, information on the subscriber line 96 is forwarded by the service provider or vendor 22 to the module 200 for validation. However, in other embodiments of the invention, the consumer or user may call the module 200 directly, as shown by line 350 in
In the first iteration of the validation process in which a validation request is received from the vendor 22, the ANI of the subscriber line 96 is captured to identify the subscriber line to which the terminal 24 is connected so that the validation process can be executed and the transaction or purchase can be approved and the billing process can be effected. It is to be appreciated however that the validation process and further prosecution of the transaction may take place based on the BTN which the user enters but that the capturing of the ANI may reduce the likelihood of fraud. Thus, if the ANI is captured, it may be done during an initial enquiry, purchase event, or at any other time during the process.
In other embodiments of the invention, in addition to or instead of capturing the ANI, the system 20 may request a user to enter the unique number associated with every phone billing account that Telcos currently issue. These additional digits are typically found at the end of the account number on a conventional telephone bill. These digits, sometimes called customer codes, identify the account associated with that particular assignment of the phone number. These codes provide a way to avoid capturing the ANI because typically only the account holder has access to this number thereby reducing the chance of fraud. Thus, the display screen 86 of
The customer codes may thus eliminate the need to capture the ANI by the module 60 (see
When the customer code is used to validate the subscriber line 96, a step to interrogate the information is included in which additional information is sent to the LIDB database 252 (see
The facility 28 may function as a type of clearing house. In particular, the facility 28 may be responsible or accountable for payment of the goods or services for each transaction to the service provider or vendor 22 and, in turn, receive payment from the Telco. As mentioned above, the module 200 updates the telephone bill or account 34 of the subscriber in an automated fashion (see line) and the bill 356 that the user receives (see
Each machines includes a processor, a main memory and a static memory, which communicate with each other via a bus. The machines may further include a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The machine also includes an alpha-numeric input device (e.g. a keyboard), a cursor control device (e.g. a mouse), a disk drive unit, a signal generation device (e.g. a speaker) and a network interface device.
The disk drive unit includes a machine-readable medium on which is stored a set of instructions (i.e., software) embodying any one, or all, of the methodologies described above. The software is also shown to reside, completely or at least partially, within the main memory and/or within the processor. The software may further be transmitted or received via the network interface device. For the purposes of this specification, the term “machine-readable medium” shall be taken to include any medium which is capable of storing or encoding a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to included, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals.
This application is a continuation of U.S. application Ser. No. 09/962,043 filed Sep. 21, 2001 now U.S. Pat. No. 7,080,049.
Number | Name | Date | Kind |
---|---|---|---|
4270042 | Case | May 1981 | A |
5247575 | Sprague et al. | Sep 1993 | A |
5313463 | Gore et al. | May 1994 | A |
5319542 | King, Jr. et al. | Jun 1994 | A |
5329589 | Fraser et al. | Jul 1994 | A |
5524142 | Lewis et al. | Jun 1996 | A |
5537464 | Lewis et al. | Jul 1996 | A |
5544229 | Creswell et al. | Aug 1996 | A |
5611052 | Dykstra et al. | Mar 1997 | A |
5633919 | Hogan et al. | May 1997 | A |
5655007 | McAllister | Aug 1997 | A |
5740427 | Stoller | Apr 1998 | A |
5748890 | Goldberg et al. | May 1998 | A |
5845267 | Ronen | Dec 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5867566 | Hogan et al. | Feb 1999 | A |
5898765 | Teglovic et al. | Apr 1999 | A |
5956391 | Melen et al. | Sep 1999 | A |
5963625 | Kawecki et al. | Oct 1999 | A |
5978775 | Chen | Nov 1999 | A |
6023499 | Mansey et al. | Feb 2000 | A |
6023502 | Bouanaka et al. | Feb 2000 | A |
6055513 | Katz | Apr 2000 | A |
6061665 | Bahreman | May 2000 | A |
6094644 | Hillson et al. | Jul 2000 | A |
6095413 | Tetro et al. | Aug 2000 | A |
6104798 | Lickiss et al. | Aug 2000 | A |
6122624 | Tetro et al. | Sep 2000 | A |
6137869 | Voit et al. | Oct 2000 | A |
6144726 | Cross | Nov 2000 | A |
6149055 | Gatto | Nov 2000 | A |
6163602 | Hammond et al. | Dec 2000 | A |
6164528 | Hills et al. | Dec 2000 | A |
6195697 | Bowman-Amuah | Feb 2001 | B1 |
6208720 | Curtis et al. | Mar 2001 | B1 |
6212262 | Kamel | Apr 2001 | B1 |
6233313 | Farris et al. | May 2001 | B1 |
6247047 | Wolff | Jun 2001 | B1 |
6260024 | Shkedy | Jul 2001 | B1 |
6272152 | Levin et al. | Aug 2001 | B1 |
6282276 | Felger | Aug 2001 | B1 |
6289010 | Voit et al. | Sep 2001 | B1 |
6295292 | Voit et al. | Sep 2001 | B1 |
6330543 | Kepecs | Dec 2001 | B1 |
6332131 | Grandcolas et al. | Dec 2001 | B1 |
6341724 | Campisano | Jan 2002 | B2 |
6648222 | McDonald et al. | Nov 2003 | B2 |
6871187 | Gosko | Mar 2005 | B1 |
7080049 | Truitt et al. | Jul 2006 | B2 |
7103576 | Mann et al. | Sep 2006 | B2 |
20010001204 | Campisano | May 2001 | A1 |
20020029190 | Gutierrez-Sheris | Mar 2002 | A1 |
20020147658 | Kwan | Oct 2002 | A1 |
20030009423 | Wang et al. | Jan 2003 | A1 |
20050021460 | Teague et al. | Jan 2005 | A1 |
20050021462 | Teague et al. | Jan 2005 | A1 |
Number | Date | Country |
---|---|---|
2223652 | Apr 1990 | GB |
WO-9908242 | Feb 1999 | WO |
WO-03065277 | Aug 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060219775 A1 | Oct 2006 | US | |
20070199985 A9 | Aug 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09962043 | Sep 2001 | US |
Child | 11098666 | US |