Call2Pay API Time

1. Introduction

1.1. General

Call2Pay API Time offers our partners the ability to provide their customers with content for time-based billing. When using the Call2Pay solution, the partner is responsible for displaying the required input forms and information to customers and for guiding customers through the payment process.

The payment process essentially consists of three steps:

  1. Selecting the country from which the customer would like to call.

  2. Displaying the reserved Call2Pay telephone number with pricing information required by law, and waiting for the customer to call.

  3. Displaying the content the customer wishes to access for the duration of the call, and interrupting this access when the customer hangs up.

See Example for an illustration of a typical payment transaction.

return to the top

2. Interface

2.1. General

2.1.1. Overview

In the following sections the syntax for the parameters and responses is described:

name :type

Required parameter with parameter type

(name :type)

Optional parameter; if no value is entered an empty string (""), numerical zero (0) or logical false (0) will be read.

(name :type) =default value

Optional parameter; if no input is provided, the default value will be read. Important: If an empty string is inputted for the parameter, this will be used and not the default value.

name :type if: condition

Required parameter if the designated condition is applicable.

(name :type) if: condition

The parameter is optional if the condition is applicable, but otherwise has no relevance.

(name :type) =default value if: dependant

As with previous entry, but with a defined presetting.

name[n] :type

indexed parameter: name[0], name[1], ... name[n-1]; typically co-exists with a parameter with a value of n

return to the top

2.1.2. Standard Parameters and Responses

Each query must be sent to a defined service URL with required parameters for the identification of the micropayment partner conducting the query. The standard parameters are valid for all functions and are not described further in the present text.

Parameters:

accesskey :string

Contains the partner's personal access key. This access key is generated automatically when the partner registers with the Micropayment system. The key can be viewed in the ControlCenter.

(testmode :boolean) =0

Switches automatically to an internal test environment that the partner can use to test his implementation without the costs associated with using the payment system.

Response:

error :integer

Contains 0 when successful or returns the error number of the failed call.

errormessage :string if: error <> 0

Contains a more detailed description of the error in plain text.

return to the top

2.1.3. Error Codes

In order to simplify error management, the error codes for the return message "error" are subdivided in four different classes, each with their own number group.

Permanent server error 1xxx

In the case of this error class a permanent problem with the web service is usually at fault. Support should be informed if errors are received in this error class.

Temporary server error 2xxx

Errors of this type are also caused by the web service, but have a temporary cause such as maintenance work or insufficient resources. Fortunately, the customer can be told that the service is only temporarily unavailable.

Client error 3xxx

The application accessing the service is typically at fault when an error of this class is received. It is advisable to log such errors with the "errormessage" text in order to enable the appropriate modification of the application. To address this error, you can consult the technical documentation or contact support.

User error 4xxx

This class includes all errors that typically result from false customer input, such as an incorrect password, etc. A detailed error description should be displayed for the user so that he/she can correct the input error. In this error class the cause can be related to the application, however, if the inputted values are incorrectly formatted, for example.

The Appendix contains a summary of all error codes, causes, and tips for repair.

return to the top

2.1.4. Service Protocols

The interface is implemented with the help of two alternative technologies.

2.1.4.1. SOAP Web Service

Functions and parameters are sent as a SOAP Envelope (HTTP method: POST) to the service URL. All parameters are contained in the following message structure:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:c2pt="http://webservices.micropayment.de/public/call2paytime/version1.0"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <c2pt:{function}>
      <param xsi:type="c2pt:C2PTime{function}RequestTyp">
        <{name} xsi:type="{type}">{value}</{name}>
        <{name} xsi:type="{type}">{value}</{name}>
        ...
      </param>
    </c2pt:{function}>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

If the request is successful, the response message contains the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:c2pt="http://webservices.micropayment.de/public/call2paytime/version1.0"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
    <c2pt:{function}Response>
      <return xsi:type="c2pt:C2PTime{function}ResponseTyp">
        <{name} xsi:type="{type}">{value}</{name}>
        <{name} xsi:type="{type}">{value}</{name}>
        ...
      </return>
    </c2pt:{function}Response>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

... or, if the request is unsuccessful, a SOAP fault will be received with the standard response elements error and errormessage:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>{error value}</faultcode>
      <faultstring>{errormessage value}</faultstring>
      <faultactor></faultactor>
      <detail></detail>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
return to the top
2.1.4.2. Simple HTTP

The webservice URL is expanded with a parameter list as an HTTP query string (GET method). The parameter action is designated for the function name:

http://{service-url}/?action={function}&{name}={value}&{name}={value}&...

The response values are returned line-by-line as name/value pairs in the response message:

error=0
{name}={value}
{name}={value}
...

In the case of an error, only the two standard response elements error and errormessagewill be returned:

error={error value}
errormessage={errormessage value}

The respective parameters and response element values are URL coded. Special characters should be entered in accordance with ISO-8859-1.

return to the top

2.2. Functions

2.2.1. Determine Available Countries and Rates with country

This function determines a list of available countries with their respective rates per minute for a certain payment category. The country of origin of the customer can also be determined.

Parameters:

project :string

Description of the project for which payment should be initiated

amount :integer

Indicates the amount per minute the customer must pay in the smallest unit of the requested currency (i.e. cents). If the rate is not available, the next higher or next lower is sent as a response.

(amountmin :integer)

Defines the low end of the search range for the amount. If only rates lower than this for a specific country are available, no rate will be returned.

(amountmax :integer)

Defines the upper end of the search range for the amount (see amountmin).

(currency :string(3)) ="EUR"

Indicates the currencies in which the parameters amount, amountmin and amountmax are designated.

(ip :string)

With this function, the preferred country can be simultaneously determined based on the customer's IP address (reponse: ipcountry and ipprovider).

Response:

countrycount :integer

Contains the number of identified countries and the returned country[n] values.

country[n] :string(2) for: 0 <= n < countrycount

Delivers country codes (e.g. "DE" for Germany and "AT" for Austria) for the countries in which the respective rates are available.

amount[n] :integer for: 0 <= n < countrycount

Contains the determined rate for the country indicated in country[n]. If several rates are available within the queried range, the highest will be returned.

currency[n] :string(3) for: 0 <= n < countrycount

Indicates the base currency of the payment amount under amount[n]

ipcountry :string(2) if: ip has been indicated

Contains the country in which the sent IP address for the customer is hosted. This is not necessarily the customer's country of origin, but the probability here is high. The returned value is not necessarily contained in the country list.

ipprovider :string if: ip has been indicated

This parameter indicates the customer's ISP, if ascertainable. Possible values:

"UNKNOWN" = ISP is not known, but is based in ipcountry

"AOL" = IP is in AOL's network, but the customer may originate from any other country. ipcountry usually contains "US"

An overview of all parameters and responses is provided by the Quick Reference Chart.

return to the top

2.2.2. Reserve Telephone Number with init

A new payment transaction is started with this function. A telephone number is reserved and then displayed for the customer. The customer should then be requested to call this number.

Parameters:

project :string

Description of the project for which payment should be initiated

(projectcampaign :string)

Indicates which project campaign this transaction should be assigned to.

(account :string)

Account number or designated name of the participating webmaster. The account of the project owner is used by default.

(webmastercampaign :string)

Designates the webmaster campaign the transaction should be assigned to

sessionid :string

A unique ID that identifies the customer session. This is saved for the open transaction. If the payment transaction is started a second time, the same telephone number will be displayed for the customer.

ip :string

The IP of the customer who has initiated the transaction. The customer IP is saved for later error diagnostics and is also used to prevent flooding attacks.

country :string(2)

The country of the caller, in order to offer the customer a national service number.

(language : string(2))

Defines the language of the telephone message. The standard language based on the country parameter is used by default.

amount :integer

Indicates the amount per minute the customer must pay in the smallest unit of the requested currency (i.e. cents). If the rate is not available, the next higher or next lower is sent as a response.

(amountmin :integer)

Defines the low end of the search range for the amount. If only a rate lower than this for the country is available, this function will fail.

(amountmax :integer)

Defines the upper end of the search range for the amount (as with amountmin).

currency :string(3)

Designates for which currency the parameter amount is indicated.

(title :string)

Identifies the product to be purchased (i.e. customer number, user name, content, etc.). This is displayed in the partner's statistics. If the paramter is left empty, the standard product in the project settings will be used.

(freeparam :string)

Combines a desired text with the transaction. The parameter can be retrieved again with other functions. This parameter can be the handle of an external partner or multiple values seperated by commas.

Response:

status :string(20)

The reservation status of the transaction. In the case of an error, the two standard response elements error and errormessagewill be returned: Possible values are:

"INIT" = A new transaction has been initiated

"CALL" = The customer is calling at the moment

handle :string(50)

The unique ID of the transaction. This is required by other functions for the retrieval of current status information.

expire :datetimestring

Point in time when reservation expires and the number is no longer valid. The time period is kept short (30 sec.) in order to conserve the inventory of telephone numbers. The status function should be queried cyclically in order to refresh the life span of the reservation.

number :string

Returns the service number to be called by the customer. The number is already optically formatted.

(numberinfo :string)

Contains, if required by law, additional information about rates and the displayed number. The text should be displayed immediately with the telephone number and linked visually with the number itself; for example, with the use of the star symbol (*) as a footnote.

origin :string

Indicates if the returned number can only be reached through a specific network (mobile or fixed-line network). This can occassionally occur. Typically, this response contains the value "BOTH". Notification should be provided to the customer if there is a limitation concerning the telephone network from which he/she can call (e.g. "Number can only be dialed from a landline").

"BOTH"

"LANDLINE"

"MOBILE"

amount :integer

Amount that the customer pays for the call each minute.

currency :string

Designates the currency of payment amount in the amount response.

mode: string

This response defines the telephone number's mode.

"DIRECT" = The number is unique and reserved for the customer. The customer can only be assigned by calling.

"DTMF" = Occassionally—typically in the case of foreign numbers—a DDI (Direct Dialing In) number cannot be reserved. When this occurs, the customer must identify him or herself with a TAN entered through the dialling pad during the call.

tan :string if: mode = "DTMF"

The TAN to be entered by the customer via telephone in the "DTMF" mode.

duration : integer

Elapsed duration of call in seconds, when status = "CALL".

An overview of all parameters and responses is provided by the Quick Reference Chart.

return to the top

2.2.3. Call Monitoring with status

This function determines the current status of a reservation. This function should be queried on a cyclical basis in order to (1) maintain the reservation and (2) determine if the customer is currently calling or has already called.

Parameters:

handle :string(40)

The transaction ID from the init function.

Response:

status :string(20)

The reservation status of the transaction. In the case of an error, the two standard response elements error and errormessagewill be returned: Possible values are:

"INIT" = Reservation is awaiting a call.

"CALL" = The customer is calling at the moment

"COMPLETE" = The call has ended. This status is only delivered immediately after the completion of the call (for approx. 10 min.). Afterwards, the function returns an error for the queried handle. The properties of the transaction can be determined at any time, however, with info.

expire :datetimestring

Point in time when reservation expires and the number is no longer valid. When this function is queried repeatedly the value is continually refreshed. (see expire explanation for init function)

(caller :string) if: status <> "INIT"

Returns the telephone number of the caller during and after a call, provided this number is identifiable. The telephone number is always shown in abbreviated form (for example: "01719988XXX")

(origin :string)

Contains the network of origin during or after the call, irrespective of "caller". With foreign numbers, the network of origin usually cannot be determined, and the reponse is empty.

"LANDLINE"

"MOBILE"

duration :integer

Elapsed length or total length of the call in seconds.

(freeparam :string)

Contains the value that has been sent by the init function.

An overview of all parameters and responses is provided by the Quick Reference Chart.

return to the top

2.2.4. Detailed Status Query with info

In contrast to the status function, this function delivers all properties for a payment transaction. In addition, with this function expired reservations and ended payment transactions can always be queried. This function should not be queried on a cyclical basis (for example, when waiting for a call), as it requires a considerably higher reponse time and burdens the system. With this function a payment transaction can be subsequently reviewed, for example.

Parameters:

handle :string(40)

The transaction ID from the init function.

Response:

status :string(20)

The status of the transaction. Possible values are:

"INIT" = Reservation is awaiting a call.

"EXPIRED" = Reservation has expired without a call.

"CALL" = The customer is calling at the moment

"COMPLETE" = The call has ended.

If no transaction is found under handle, error and errormessage will be returned.

expire :datetimestring

The point in time at which the reservation expired or will expire. In contrast to the status function, an existing reservation is not refreshed by this function.

project :string

Name of project sent in init query

projectcampaign :string

Delivers the campaign to which the transaction has been assigned

account :string

Indicates the account number or designated name of the particpating webmaster/project operator that has been sent

webmastercampaign :string

Webmaster's campaign

country :string(2)

The initialized country of the caller

number :string

Delivers the reserved service number for the transaction. If the transaction has been completed, the number may no longer be called, as this number may have already been reserved for another customer.

amount :integer

The payment amount per minute for the call. The total payment amount can be determined with the help of duration.

currency :string

The currency in which the amount is designated.

mode: string

The mode of the "DIRECT" or "DTMF" payment transaction from the init function

tan :string if: mode = "DTMF"

The TAN for the "DTMF" mode.

(caller :string) if: status >= "CALL"

Returns the telephone number of the caller during and after a call, provided this number is identifiable. The telephone number is always shown in abbreviated form (for example: "01719988XXX")

(origin :string)

Contains the network of origin during or after the call, irrespective of "caller". With foreign numbers, the network of origin usually cannot be determined, and the reponse is empty.

"LANDLINE"

"MOBILE"

duration : integer

Total length of the call in seconds.

title :string

The product description for this transaction.

(freeparam :string)

Contains the value that has been sent by the init function.

An overview of all parameters and responses is provided by the Quick Reference Chart.

return to the top

2.2.5. Simulated Call with testcall

The testcall function can be helpful during the integration of the web service and for testing purposes. It allows a customer call to be simulated, and is therefore only available in the test mode. If a payment transaction has been started with init in the test mode, the status can be set to "CALL" and finally to "COMPLETE" with a separate query in order to test the functionality of the application.

testmode :boolean

This general parameter must be set to "1" for function activation.

number: string

This service number from the init function that the customer would call.

(origin: string) ="LANDLINE"

Sets the network from which the caller would be calling. "LANDLINE" or "MOBILE" are the two options.

(caller :string)

Can contain the caller's number. This number is then directly returned from the status function.

tan :string if: mode = "DTMF"

The TAN in the "DTMF" mode.

duration : integer

Indicates how long the simulated call should last. Although a response is immediately sent for the query, the indicated call length will elapse until the call ends. Repeated query of the status function delivers the status "CALL" and a rising value forduration. At the end this value appears together with the status "COMPLETE".

Response:

handle :string(50)

The transaction ID, as from the init function.

An overview of all parameters and responses is provided by the Quick Reference Chart.

return to the top

2.3. Example

A typical transaction with the required web service interactions is outlined in the following.

  1. The customer decides to make a purchase and activates the partner's Call2Pay application. The application generates a list of available countries and asks the customer to make a selection from this list. For the most probable country a new payment transaction is initiated by the application.

    http://{service-url}/?action=country&accesskey=0123abc
    &project=demo&amount=200&currency=EUR&ip=127.0.0.1
    
    error=0
    countrycount=3
    country[0]=DE
    country[1]=CH
    country[2]=AT
    amount[0]=200
    amount[1]=423
    amount[2]=217
    currency[0]=EUR
    currency[1]=CHF
    currency[2]=EUR
    ipcountry=DE
    ipprovider=UNKNOWN
    http://{service-url}/?action=init&accesskey=0123abc
    &project=demo&sessionid=aabbccddeeff&ip=127.0.0.1
    &country=DE&amount=200&currency=EUR&title=Supportchat
    
    error=0
    status=INIT
    handle=1000abcdef
    expire=2007-01-15 12:00:00
    number=09005 000 111 22
    numberinfo=2.00 euros/min from a German landline.
    origin=BOTH
    amount=200
    currency=EUR
    mode=DIRECT
    tan=
    duration=0
    

    The following information is displayed to the customer.

    Call the following number in order to start a support chat.
    
        09005 000 111 22 *
    
    * 2.00 euros/min from a German landline.
    
    Select your country: Germany | Switzerland | Austria
    

  2. A cyclical query is sent by the website to the application server (for example, every 5 seconds using a Java script). This query retrieves the status of the transaction and thus maintains the reservation.

    http://{service-url}/?action=status&accesskey=0123abc&handle=1000abcdef
    
    error=0
    status=INIT
    expire=2007-01-15 12:00:05
    caller=
    duration=0
    

    As soon as the customer places a call, the function delivers the following, for example:

    http://{service-url}/?action=status&accesskey=0123abc&handle=1000abcdef
    
    error=0
    status=CALL
    expire=2007-01-15 12:00:10
    caller=03012345xxx
    duration=5
    

    The cyclical query updates the website and displays the content for which payment is required to the customer. For example:

    Support Chat
     Operator> Welcome to support chat, how can I help you?
    
     Your message: |
    
  3. In the background an ongoing check is conducted on a cyclical basis to verify the connection is still active:

    http://{service-url}/?action=status&accesskey=0123abc&handle=1000abcdef
    
    error=0
    status=CALL
    expire=2007-01-15 12:00:25
    caller=03012345xxx
    duration=20
    

    The customer then hangs up the phone, ending the connection. The status function now returns the following:

    http://{service-url}/?action=status&accesskey=0123abc&handle=1000abcdef
    
    error=0
    status=COMPLETE
    expire=2007-01-15 12:00:35
    caller=03012345xxx
    duration=30
    

    The page is updated as well as the service for which payment is required is then stopped. For example:

    Support Chat
     Operator> Welcome to support chat, how can I help you?
     You> How do I install the demo application?
     Operator> Have you already checked the readme.txt file?
     Sie> Uh, nope... Thanks for the tip!
    
     The connection is no longer active. Thank you for using Support Chat. 
return to the top

A. Quick Reference Chart

Function: country

Table A.1. Parameters for country function
Parameters Type Standard Description
accesskey string   Access key
testmode boolean 0 Activate test mode
project string   Project name
amount integer   Amount/min.
amountmin integer unlimited Minimum amount/min.
amountmax integer unlimited Maximum amount/min.
currency string(3) "EUR" Currency
ip string Empty Determine country from IP
Table A.2. Parameters for country reponses
Parameters Type Standard Description
error integer 0 Error code
errormessage string if error <> 0 Error message
countrycount integer   Number country[n]
country[n] string(2) if countrycount > 0 Supported countries
amount[n] integer if countrycount > 0 Amount/min. for country
currency[n] string(3) if countrycount > 0 Currency of amount
ipcountry string(2) If ip <> "" Location of ISP based on IP
ipprovider string If ip <> "" ISP "UNKNOWN", "AOL"

Function: init

Table A.3. Parameters for init function
Parameters Type Standard Description
accesskey string   Access key
testmode boolean 0 Activate test mode
project string   Project name
projectcampaign string None Campaign of project operator
account string Account of project operator Webmaster account
webmastercampaign string None Webmaster's campaign
sessionid string   User session
ip string   User IP
country string(2)   User's country
language string(2) Country language Language of message heard by caller
amount integer   Amount/min.
amountmin integer unlimited Minimum amount/min.
amountmax integer unlimited Maximum amount/min.
currency string(3) "EUR" Currency
title string Product from project settings Product for sale
freeparam string Empty Free parameters
Table A.4. Parameters for init reponses
Parameters Type Standard Description
error integer 0 Error code
errormessage string if error <> 0 Error message
status string   Reservation status: "INIT", "CALL"
handle string(50)   Reservation ID
expire datetimestring   Expiration of the reservation
number string   Call number
numberinfo string   Legally required rate information
origin string   Reachability of the number: "MOBILE", "LANDLINE", "BOTH"
amount integer   Amount/min.
currency string(3)   Currency
mode string   Mode of user identification: "DIRECT", "DTMF"
tan string when mode = "DTMF" TAN input for call
duration integer   Elapsed call duration in seconds.

Function: status

Table A.5. Parameters for status function
Parameters Type Standard Description
accesskey string   Access key
testmode boolean 0 Activate test mode
handle string(50)   Reservation ID
Table A.6. Parameters for status reponses
Parameters Type Standard Description
error integer 0 Error code
errormessage string if error <> 0 Error message
status string   Reservation status: "INIT", "CALL", "COMPLETE"
expire datetimestring   Expiration of the reservation
caller string if status >= "INIT" and available Telephone number of the user
origin string Empty Network of the caller: "MOBILE", "LANDLINE"
duration integer   Elapsed call duration in seconds.
freeparam string Empty Free parameters

Function: info

Table A.7. Parameters for info function
Parameters Type Standard Description
accesskey string   Access key
testmode boolean 0 Activate test mode
handle string(50)   Reservation ID
Table A.8. Parameters for info reponses
Parameters Type Standard Description
error integer 0 Error code
errormessage string if error <> 0 Error message
status string   Reservation status: "INIT", "EXPIRED", "CALL", "COMPLETE"
expire datetimestring   Expiration of the reservation
project string   Project name
projectcampaign string Empty Campaign of project operator
account string   Webmaster account
webmastercampaign string Empty Webmaster's campaign
country string(2)   Country of the telepohone number
number string   Call number
amount integer   Amount/min.
currency string(3)   Currency
mode string   Mode of user identification: "DIRECT", "DTMF"
tan string when mode = "DTMF" TAN input for call
caller string if status >= "REINIT" and available Telephone number of the user
origin string Empty Network of the caller: "MOBILE", "LANDLINE"
duration integer   Elapsed call duration in seconds.
title string   Product for sale
freeparam string Empty Free parameters

Function: testcall

Table A.9. Parameters for testcall function
Parameters Type Standard Description
accesskey string   Access key
testmode boolean   Must be "1"
number string   Call number
origin string "LANDLINE" Call network: "LANDLINE", "MOBILE"
caller string Empty Telephone number of the user
tan string when mode = "DTMF" TAN input for call
duration integer   Number of seconds to be called
Table A.10. Parameters for testcall reponses
Parameters Type Standard Description
error integer 0 Error code
errormessage string if error <> 0 Error message
handle string(50)   Reservation ID
return to the top

B. Error Codes

Table B.1. Errors caused by server (permanent)
error Functions Cause Reaction
1000 all Unknown error Information to micropayment support
1001 all Error during database operation Information to micropayment support
1002 all Failed initialization of service Information to micropayment support
Table B.2. Errors caused by server (temporary)
error Functions Cause Reaction
2001 all Service temporarily unavailable (usually due to short-term maintenance work) Text displayed to user: "Please try again later"
2002 init Reservation is temporarily not possible (usually the number pool has been exhausted) Text displayed to user: "Please try again later"
Table B.3. Errors caused by client
error Functions Cause Reaction
3001 all Failed authorization (access key or IP of client is incorrect) Verification of project settings
3002 all Function not supported or available Verification of documentation; the function may only be allowed in the test mode
3003 all Parameter is in the wrong format or contains the wrong value (usually when required parameters are missing) Verification of documentation; input of all required parameters; input of correct values
3004 all Error in project configuration Verification of project settings; errormessage returns more precise details
3005 init Requested country is not available Text displayed to user: "Country is not supported"
3006 init, country Requested payment amount is not permitted Select another per-minute payment amount
3007 init, country Requested currency cannot be processed Input of currency in accordance with ISO 4217
3008 status, info handle is invalid Input of a valid handle, status only returns data for a limited time, use the info function
Table B.4. Errors caused by user
error Functions Cause Reaction
4001 testcall Call number or TAN not reserved or call is already underway Input of correct values; one-time call
return to the top