Credit Card-Mail Order and Telephone Order

Credit Card-Mail Order and Telephone Order

Mail Order and Telephone Order which is also known as CCARD-MOTO, standing for credit card payments based on a Mail Order or Telephone Order, is intended for back-office transactions and is suited for any system that’s capable of storing orders, such as ERP systems and call center applications.

When using this payment method, consumers have two options to order services or items:

  • Per mail, fax or letter: The consumer forwards the order and the payment method details to the merchant in written form.

  • Per telephone: Consumer calls e.g. the service center to place the order and communicates the payment method details by telephone.

When the service center staff has access to an ERP system, they may verify whether the products which are ordered via phone or fax are available while at the same time checking the validity of the consumer’s credit card data.

The merchant configuration has to be changed by our integration specialists on your behalf, and acquirers might require to meet additional and special conditions to fulfill PCI security standards in their acceptance contracts.

Consumers must never disclose their 3-D Secure code to the service center staff when placing mail or telephone orders.

Commands

Pre Transaction Commands

The first step is to generate a unique order number with the command CREATEORDER.

Transaction Commands

INITIATEPAYMENT

The initiation happens here without a check of the cards for 3-D Secure. Necessary for mail order/tele-order, call center.

Request Parameters
Table 1. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

INITTYPE

DEPOSITAMOUNT

PAYMENTTYPE

ORDERREFERENCE

AMOUNT

CUSTOMERSTATEMENT

CURRENCY

TRANSACTION_IDENTIFIER

ORDERNUMBER

IP_ADDRESS

ORDERDESCRIPTION

IS_RECURRING_TRANSACTION

PAN

CARDHOLDERNAME

EXPIRY

ISSUE_NUMBER

ISSUE_DATE

PERIODIC_TYPE

MERCHANT_TOKENIZATION_FLAG

APPLICATIONTYPE

ORIGINATOR

Optional request parameters CUSTOMERSTATEMENT and ORDERREFERENCE, are more restricted about their length and allowed characters than usual.

Response Parameters
Table 2. Response Parameters
Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

Initialization example
Credit card payment method can be initialized if the merchant sends CCARD for parameter INITTYPE.
  1. Send a request.

    Example of Request for Initiation
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=INITIATEPAYMENT&
    PAYMENTTYPE=CREDITCARD&
    INITTYPE=CCARD&
    DEPOSITAMOUNT=0&
    ORDERNUMBER=15457193&
    LANGUAGE=en&
    TRANSACTION_IDENTIFIER=MOTO&
    AMOUNT=1.00&
    CURRENCY=EUR&
    PAN=4000012892688323&
    EXPIRY=12/2023&
    QTILL_CLIENT_IP_ADDRESS=172.20.10.12&
    CUSTOMERSTATEMENT=custmomer123&
    ORDERDESCRIPTION=Test:0000&
    APPLICATIONTYPE=S&
  2. The response looks like this:

    Example of Response for Initiation
    version=qtillserver+3.23.0.47&
    status=0

    Because this is a synchronous payment method, the result is provided immediately.

VERIFYPAYMENT

For mail orders and telephone orders, VERIFYPAYMENT isn’t mandatory.
Request Parameters
Table 3. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

PAYMENTNUMBER

QTILL_CLIENT_IP_ADDRESS

ORIGINATOR

Response Parameters
Table 4. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
Verifying payment example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=VERIFYPAYMENT&
    APPLICATIONTYPE=S&
    ORDERNUMBER=15457193&
    LANGUAGE=en
  2. The response looks like this:

    Response Parameters
    order.1.amount=1.00&
    payment.1.1.paymentNumber=15457193&
    payment.1.1.depositAmount=1.00&
    order.1.orderText=Test%3A0000&
    order.1.contractNumber=Qenta_Test2&
    payment.1.1.timeModified=26.10.2022+12%3A54%3A27&
    payment.1.1.operationsAllowed=DEPOSITREVERSAL&
    payment.1.1.paymentType=CREDITCARD&
    order.1.merchantNumber=840&
    payment.1.1.state=payment_deposited&
    order.1.depositAmount=1.00&
    order.1.customerStatement=custmomer123&
    order.1.providerContractNumber=Qenta_Test2&
    order.1.timeModified=26.10.2022+12%3A54%3A27&
    payment.1.1.approvalCode=786404&
    payment.1.1.providerReferenceNumber=916d21de8b9c4859812747c90eaa535e&
    order.1.orderNumber=15457193&
    payment.1.1.gatewayReferenceNumber=d88f476cc21747a9b566fc56539ec9bb&
    payment.1.1.orderNumber=15457193&
    payment.1.1.approveAmount=1.00&
    order.1.approveAmount=0&
    order.1.credits=0&
    payment.1.1.merchantNumber=840&
    order.1.payments=1&
    order.1.currency=EUR&
    version=qtillserver+3.23.0.48&
    order.1.refundAmount=0&
    payment.1.1.currency=EUR&
    order.1.timeCreated=26.10.2022+12%3A54%3A27&
    order.1.state=ORDERED&
    order.1.orderDescription=Test%3A0000&
    orders=1&
    payment.1.1.timeCreated=26.10.2022+12%3A54%3A27&
    payment.1.1.batchNumber=300000576&
    order.1.acquirer=QENTA&
    order.1.paymentType=CREDITCARD&
    order.1.brand=VISA&
    status=0

Post Transaction Commands

GETORDERDETAILS

Request Parameters
Table 5. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

ADMIN_PASSWORD

ORIGINATOR

Response Parameters
Table 6. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
Getting order details example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=GETORDERDETAILS&
    ADMIN_PASSWORD=9p3a0m5f&
    ORDERNUMBER=15457193&
    APPLICATIONTYPE=S&
  2. The response looks like this:

    Response Parameters
    order.1.amount=1.00&
    payment.1.1.paymentNumber=15457193&
    payment.1.1.timeModified=26.10.2022+12%3A54%3A27&
    payment.1.1.operationsAllowed=DEPOSITREVERSAL&
    payment.1.1.paymentType=CREDITCARD&
    order.1.merchantNumber=840&
    order.1.depositAmount=1.00&
    payment.1.1.approvalCode=786404&
    payment.1.1.providerReferenceNumber=916d21de8b9c4859812747c90eaa535e&
    payment.1.1.orderNumber=15457193&
    rder.1.approveAmount=0&
    order.1.credits=0&
    payment.1.1.merchantNumber=840&
    order.1.payments=1&
    version=qtillserver+3.23.0.48&
    order.1.state=ORDERED&
    payment.1.1.currency=EUR&
    order.1.refundAmount=0&
    orders=1&
    order.1.brand=VISA&
    order.1.acquirer=QENTA&
    payment.1.1.batchNumber=300000576&
    status=0&
    payment.1.1.depositAmount=1.00&
    order.1.orderText=Test%3A0000&
    order.1.contractNumber=Qenta_Test2&
    payment.1.1.state=payment_deposited&
    order.1.customerStatement=custmomer123&
    order.1.providerContractNumber=Qenta_Test2&
    order.1.orderNumber=15457193&
    order.1.timeModified=26.10.2022+12%3A54%3A27&
    payment.1.1.gatewayReferenceNumber=d88f476cc21747a9b566fc56539ec9bb&objectsTotal=1&
    payment.1.1.approveAmount=1.00&
    order.1.currency=EUR&
    order.1.timeCreated=26.10.2022+12%3A54%3A27&
    order.1.orderDescription=Test%3A0000&
    payment.1.1.timeCreated=26.10.2022+12%3A54%3A27&
    order.1.paymentType=CREDITCARD

DEPOSIT

The transaction can be deposited:

  1. By using the command DEPOSIT (see an example!).

This is only possible if the transaction is not deposited in any other way.
Request Parameters
Table 7. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

CURRENCY

PAYMENTNUMBER

CUSTOMERSTATEMENT

AMOUNT

MERCHANTREFERENCE

APPLICATIONTYPE

ORIGINATOR

Response Parameters
Table 8. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Deposit example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=DEPOSIT&
    ORDERNUMBER=15921723&
    PAYMENTNUMBER=15921723&
    AMOUNT=1.00&
    CURRENCY=EUR&
    LANGUAGE=en&
    APPLICATIONTYPE=S
  2. The response looks like this:

    Response Parameters
    version=qtillserver+3.23.0.48&
    paymentNumber=15921723&
    status=0

DEPOSITREVERSAL

Request Parameters
Table 9. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

CURRENCY

PAYMENTNUMBER

AMOUNT

ADMIN_PASSWORD

APPLICATIONTYPE

ORIGINATOR

Response Parameters
Table 10. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Deposit Reversal example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=DEPOSITREVERSAL&
    ORDERNUMBER=10970158&
    PAYMENTNUMBER=10970158&
    CURRENCY=EUR&
    ADMIN_PASSWORD=9p3a0m5f&
    LANGUAGE=en&
    APPLICATIONTYPE=S
  2. The response looks like this:

    Response Parameters
    version=qtillserver+3.23.0.48&
    status=0

APPROVEREVERSAL

For using the command APPROVEREVERSAL, payment needs to be in an approved state. Look at the order flow diagram of the payment method for closer information.
Request Parameters
Table 11. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

CURRENCY

PAYMENTNUMBER

AMOUNT

ADMIN_PASSWORD

APPLICATIONTYPE

ORIGINATOR

Response Parameters
Table 12. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Approve Reversal example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=APPROVEREVERSAL&
    ORDERNUMBER=15422959&
    PAYMENTNUMBER=15422959&
    ADMIN_PASSWORD=9p3a0m5f&
    LANGUAGE=en&
    APPLICATIONTYPE=S&
  2. The response looks like this:

    Response Parameters
    version=qtillserver+3.23.0.47&
    status=0

RECURPAYMENT

Response Parameters
Table 14. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Recurring payment example
  1. Send a request.

    Request Parameters
    COMMAND=RECURPAYMENT&
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    ORDERNUMBER=12868716&
    SOURCEORDERNUMBER=15921723&
    AMOUNT=1&
    CURRENCY=EUR&
    ORDERDESCRIPTION=Test:0000&
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
  2. The response looks like this:

    Response Parameters
    version=qtillserver+3.23.0.48&
    status=0

REFUND

Request Parameters
Table 15. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

AMOUNT

CREDITNUMBER

ADMIN_PASSWORD

CURRENCY

MERCHANTREFERENCE

CUSTOMERSTATEMENT

ISO_TRANSACTION_TYPE

ORIGINATOR

For refunds, basket item data are additional optional parameters.
Response Parameters
Table 16. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

creditNumber

Refunding example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=REFUND&
    ORDERNUMBER=12722559&
    CURRENCY=EUR&
    AMOUNT=1.00&
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
    LANGUAGE=en&
  2. The response looks like this:

    Response Parameters
    creditNumber=10684965&
    version=qtillserver+3.23.0.48&
    status=0

REFUNDREVERSAL

Request Parameters
Table 17. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

CREDITNUMBER

ORIGINATOR

ADMIN_PASSWORD

Response Parameters
Table 18. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Refunding reversal example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=REFUNDREVERSAL&
    ORDERNUMBER=12722559&
    CREDITNUMBER=10684965& (1)
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
    LANGUAGE=en
    1 Use a credit number got from the refund.
  2. The response looks like this:

    Response Parameters
    version=qtillserver+3.23.0.48&
    status=0

Query Commands

For every payment method commands QUERYORDERS, QUERYCREDITS, and QUERYBATCHES are used.