QuickPay

QuickPay batch services allowed merchant to send a batch of QuickPay payments using SFTP connection.

👍

Connect using SFTP

  • IP Address : 52.76.184.174
  • Port : 22
  • Username : Merchant required to fill in the SFTP setup form and send the request to support team. An account will be created for merchant to access 2c2p SFTP in demo and production environment.
  • Request Path : /input
  • Response Path : /output
  • Pickup Time For Request File : Every hour
  • Drop Time For Response File : Within the next hour

🚧

File Format Specification

  • File name format : quickpay_YYYYMMDD_fileName.csv
  • Parameter delimiter : pipe '|'
  • Record delimiter : line break
  • Encryption Method : None

 

How to integrate


  1. Merchants have to prepare the quickpay request file. Refer to Quickpay Request.
  2. Merchant is required to put quickpay request file into SFTP Server.
  3. 2c2p pickup the quickpay request file and process the payment.
  4. 2c2p will drop the quickpay response file in SFTP Server.
  5. Merchant is required to get the quickpay response file from SFTP Server.
  6. Merchant read the response data as payment acknowledgement. Refer to Quickpay Response.

 

📘

Data Attribute Reference

Data Type
A - Alphabet, N - Numeric, AN - AlphaNumeric, C - Characters, D - Decimal, B - Boolean

Mandatory
M - Mandatory, C - Conditional, O - Optional

Quickpay Request


Header Parameter

H|1.0|0000001|2015-01-01 00:00:01|2015-01-01 00:00:02|3
ParameterData TypeMandatoryDescription
recordTypeC 1MHeader = H
versionC 5MCurrent version is 1.1
merchantIDC 15MMID provided by 2c2p
createDateTimeC 19MYYYY-MM-DD HH:mm:ss (24 hours format)
processDateTimeC 19Myyyy-MM-dd HH:mm:ss (24 hours format)
totalRecordN 5Mtotal number of transactions

 

Detail Parameter

D|1|Prefix001|promo package 2 days 1 night|SGD|1200.00|Y|100|31122016|mydata1|mydata2|mydata3|mydata4|mydata5|||https://my.returnurl.com/|A|||[email protected];[email protected]|||promotion package 2016 - kuta|2 days 1 nights at kuta beach villa||||||||||||
D|2|Prefix002|promo package 5 days 4 night|SGD|2200.00|Y|100|31122016|mydata1|mydata2|mydata3|mydata4|mydata5|||https://my.returnurl.com/|A||||||||+6589898989|Promotion - 5 days 4 nights in villa jimbaran|||N|||||||
D|3|Prefix003|promo package 5 days 4 night|SGD|3200.00|Y|100|31122016|mydata1|mydata2|mydata3|mydata4|mydata5|||https://my.returnurl.com/|A|||[email protected];[email protected]|||promotion package 2016 - uluwatu|5 days 4 nights at uluwatu beach villa|+6589898989|Promotion - 5 days 4 nights in villa uluwatu|||Y|49.00|N||30|12|01052020|
ParameterData typeMandatoryDescription
recordTypeC 1MDetails = D
recordNoN 5Mrunning no 1 - 99999
orderIdprefixC 14MPrefix of merchant order number for transaction done using this QuickPay URL. Only alphanumeric and special character of _- allowed.
descriptionN 12MDescription of QuickPay URL. Only alphanumeric and special character of ._#- allowed.
currencyC 3MStandard ISO4217 currency codes. Eg. Thai baht = THB, Singapore dollar = SGD, US dollar = USD.
amountN 12MTransaction amount. E.g. SGD = 100.00, JPY = 100
allowMultiplePaymentC 1OY = Yes, N = No. allow multiple payment to be made with this QP URL. Default value = N
maxTransactionC 4O"Maximum no of approved transaction allowed. Value 1 to 1000.
If you have 10 items to sell, put 10 as value."
expiryN 8MExpiry date of the QP URL with format of DDMMYYYY
userData1C 255OUser data
userData2C 255OUser data
userData3C 255OUser data
userData4C 255OUser data
userData5C 255OUser data
promotionC 20OPromotion code to filter promotion transactions
categoryIdC 20OPredefined payment category code for reporting purpose.
resultUrl2C 255OBackend return url
paymentOptionC 1O"To restrict customer payment methods / channel:
- F – Full amount payment only
- I – Installment payment plan only
- C – Credit card payment only
- A – All available options
By default A option is selected."
ippInterestTypeC 1O"To allow merchant to specify IPP Interest type:
- M – Merchant Pay interest option only
- C – Customer Pay interest option only
- A – all available options
By default A is selected."
paymentExpiryC 19O"Allow merchant to specify payment expiry date/time for 1-2-3 service. Format:
yyyy-MM-dd HH:mm:ss
by default, expiry value is taken from merchant configuration."
toEmailsC 255OEmail address to be sent to, separated by semi-colon, “;”.
ccEmailsC 255OEmail address to receive CC, separated by semi-colon, “;”.
bccEmailsC 255OEmail address to receive BCC, separated by semi-colon, “;”.
emailSubjectC 255O

M if 'toEmail' value is supplied
Characters except special character of > and <
emailMessageC 255O

M if 'toEmail' value is supplied
Characters except special character of > and <
toMobilesC 255OMobile Nos to be sent to, separated by semi-colon, “;”. In International format: CountryCode-AreaCode-TelephoneNo. E.g +66889999999
smsMessageC 60O

M if 'toMobile' value is supplied
Characters except special character of > and <
request3DSC 1O"To enable / disable / Force 3DS authentication

Y - Do 3DS authentication (default)
N - No 3DS authentication
F - Force 3DS authentication (only ECI 02/05 are accepted)"
enableStoreCardC 1O"To enable tokenization feature

N - Disable tokenization option (default)
Y - Enable tokenization option"
recurringC 1M"To enable RPP (Recurring Payment Plan) transaction feature.

N - Disable RPP feature (default)
Y - Enable RPP feature

(Recurring unique ID will be returned on payment response message if this option is enabled)"
recurringAmountN 12CRecurring amount. E.g. SGD = 100.00, JPY = 100
recurringAllowAccumulateC 1O"RPP will be terminated if accumulated failed RPP transaction amount is over maxAccumulateAmount.

Only required if allowAccumulate is allowed"
recurringMaxAccumulateAmountN 12C"RPP will be terminated if accumulated failed RPP transaction amount is over maxAccumulateAmount.

Only required if allowAccumulate is allowed"
recurringIntervalN 2C"To indicate the frequency of RPP by days.
minimum is every 1 day.
maximum is every 365 days (1 year).

Only required if RPP is enabled and chargeOnDate is not used."
recurringCountN 5C"To indicate how many times to charge the customer with RPP.

set to '0' to charge indefinitely until terminated manually.

Only required if RPP is enabled."
recurringChargeNextDateN 8C"To indicate the next RPP charge date.
format: ddMMyyyy.

Only required if RPP with recurringInterval is set.

if RPP is with chargeOnDate then chargeNextDate is optional.
if chargeNextDate is not set, chargeOnDate Date and Month will be used"
recurringChargeOnDateN 4C"To charge RPP on specific date every month.
format: ddMM
the MM is only used if charge_next_date is not set.
otherwise the dd will be used for every month.

Only required if RPP is enabled and recurringInterval is not used."

 

Quickpay Response


Header Parameter

H|1.1|0000001|2015-01-02 00:00:02|3
ParameterData typeMandatoryDescription
recordTypeC 1MHeader = H
versionC 5MCurrent version 1.1
merchantIDC 15MMID provided by 2c2p
completeDateTimeC 19MYYYY-MM-DD hh:mm:ss
totalRecordsN 5Mtotal number of transactions

 

Detail Parameter

D|1|90001|Prefix001|SGD|1200.00|31122016|https://quickpay.2c2p.com/90001|[email protected]||[email protected]||000|success
D|1|90002|Prefix002|SGD|2200.00|31122016|https://quickpay.2c2p.com/90002||+6589898989|||000|success
D|1|90001|Prefix003|SGD|3200.00|31122016|https://quickpay.2c2p.com/90003|[email protected]|+65898989|[email protected]||000|success
ParameterData typeMandatoryDescription
recordTypeC 1MDetails = D
recordNoN 5Mrunning no 1 - 99999
qpIDC 28MRouting trace reference number
orderIdPrefixC 50MInvoice No
currencyN 12M"The refund amount will be padded with ‘0’ from the left and include no decimal point.
Example: 1.00 = 000000000100, 1.50 = 000000000150"
amountC 250MRefund Note
expiryn 8MExpiry date of the QP URL with format of DDMMYYYY
urlC 255MQuickpay URL
successEmailsC 255OEmail address successfully sent to, separated by semi-colon, “;”.
successMobilesC 255OMobile Nos successfully sent to, separated by semi-colon, “;”.
failedEmailsC 255OEmail address failed to send to, separated by semi-colon, “;”.
failedMobilesC 255OMobile Nos failed to send to, separated by semi-colon, “;”.
respCodeC 3MResponse status code
respDescC 50MResponse status short description