Payment Process API

📘

Data Attribute Reference

Data Type

  • A: Alphabet
  • AN: Alphanumeric
  • C: Characters
  • B: Boolean
  • D: Decimal
  • N: Numeric

Mandatory attributes

  • M: Mandatory
  • C: Conditional
  • O: Optional

 

Payment Inquiry Request Parameters


<PaymentProcessRequest>
  <version>3.8</version>
  <timeStamp></timeStamp>
  <merchantID></merchantID>
  <processType>I</processType>
  <invoiceNo></invoiceNo>
  <actionAmount></actionAmount>
</PaymentProcessRequest>
ParameterData Type/ LengthMandatoryDescription
versionAN 5MRequest version number

Current: 3.8
timeStampC 22ORequest time stamp

* In ddMMyyHHmmss format
merchantIDC 15MMerchant ID
processTypeC 2MPayment process command

* I = Inquiry
invoiceNoC 50MInvoice number / order ID
actionAmountD 10,2OAmount

* In two-decimal format

 

Refund Request Parameters


<PaymentProcessRequest>
  <version>3.8</version>
  <timeStamp></timeStamp>
  <merchantID></merchantID>
  <processType>R</processType>
  <invoiceNo></invoiceNo>
  <actionAmount></actionAmount>
  <bankCode></bankCode>
  <accountName></accountName>
  <accountNumber></accountNumber>
  <subMerchantList>
   <subMerchant subMID="" subAmount="">
    <loyaltyPayments>
    	<loyaltyRefund>
            <loyaltyProvider></loyaltyProvider>
            <externalMerchantId></externalMerchantId>
            <totalRefundRewardAmount></totalRefundRewardAmount>
            <refundRewards>
               <reward>
                   <type></type>
                   <quantity></quantity>
               </reward> 
           </refundRewards>
     </loyaltyRefund>
  	</subMerchant>
  </subMerchantList>
  <notifyURL></notifyURL>
  <idempotencyID></idempotencyID>
  <loyaltyPayments>
   <loyaltyRefund>
            <loyaltyProvider></loyaltyProvider>
            <externalMerchantId></externalMerchantId>
            <totalRefundRewardAmount></totalRefundRewardAmount>
            <refundRewards>
               <reward>
                   <type></type>
                   <quantity></quantity>
               </reward> 
           </refundRewards>
     </loyaltyRefund>
	</loyaltyPayments>
</PaymentProcessRequest>
ParameterData Type/ LengthMandatoryDescription
versionAN 5MRequest version number

Current : 3.8
For Loyalty Feature : 4.1
timeStampC 22ORequest time stamp

* In ddMMyyHHmmss format
merchantIDC 15MMerchant ID
processTypeC 2MPayment process command

* R = Refund
invoiceNoC 50MInvoice number / order ID
actionAmountD 10,2MAmount

In two-decimal format
Should
not exceed original
transaction amount
* For partial refunds, the total refund
amount (previous+current
refund) should not exceed original transaction amount
bankCodeC 10OCustomer’s bank
account’s bank code

* Only applicable to APM transaction
accountNameC 50OCustomer’s bank account name

* Only applicable to APM transaction
accountNumberC 50OCustomer’s bank account number

* Only applicable to APM transaction
subMerchantListArrayOOnly applicable to
MasterMerchant
Account
subMerchant.subMIDC 15MSub Merchant ID
subMerchant.subAmountD 10,2MRefund amount

In 2- decimal format
The total of all subAmount(s)
must match the actionAmount
subMerchant.loyaltyRefundArrayOLoyalty info
subMerchant.loyaltyRefund.loyaltyProviderAN 20OLoyalty points provider id
subMerchant.loyaltyRefund.externalMerchantIdAN 50CExternal Loyalty Merchant ID
subMerchant.loyaltyRefund.totalRefundRewardAmountD 12,5OTotal Refund Reward Amount
subMerchant.loyaltyRefund.refundRewardsArrayOList of Rewards
subMerchant.loyaltyRefund.refundRewards.reward.typeC 1OLoyalty Type, "P" (POINTS) /"V" (Voucher)
subMerchant.loyaltyRefund.refundRewards.reward.quantityD 12,5OPoints quantity
notifyURLC 250OURL to notify final refund status

* Uses the same format as ‘PaymentProcessRe
sponse’
userDefined1C 150OUser defined data
userDefined2C 150OUser defined data
userDefined3C 150OUser defined data
userDefined4C 150OUser defined data
userDefined5C 150OUser defined data
idempotencyIDC 100OA repeated request with the same idempotencyID will return the same response as the original request
loyaltyPaymentsArrayOList of loyalty.
loyaltyRefund.loyaltyProviderAN 20OLoyalty refund info
loyaltyRefund.externalMerchantIdAN 50CExternal Loyalty Merchant ID
loyaltyRefund.totalRefundRewardAmountD 12,5OTotal Refund Reward Amount
loyaltyRefund.refundRewardsArrayOList of Rewards
loyaltyRefund.refundRewards.reward.typeC 1OLoyalty Type, "P" (POINTS) /"V" (Voucher)
loyaltyRefund.refundRewards.reward.quantityD 12,5OPoints quantity

 

Void / Cancel Request Parameters


<PaymentProcessRequest>
  <version>3.8</version>
  <timeStamp></timeStamp>
  <merchantID></merchantID>
  <processType>V</processType>
  <invoiceNo></invoiceNo>
  <actionAmount></actionAmount>
  <bankCode></bankCode>
  <accountName></accountName>
  <accountNumber></accountNumber>
  <subMerchantList>
   <subMerchant subMID="" subAmount="" />
   <subMerchant subMID="" subAmount="" />
  </subMerchantList>
  <idempotencyID></idempotencyID>
</PaymentProcessRequest>
ParameterData Type/ LengthMandatoryDescription
versionAN 5MRequest version number

Current: 3.8
timeStampC 22ORequest time stamp

* In ddMMyyHHmmss format
merchantIDC 15MMerchant ID
processTypeC 2MPayment process command

* V = Void/Cancel
invoiceNoC 50MInvoice number / order ID
actionAmountD 10,2OAmount

In two-decimal format
Should not exceed original transaction amount
bankCodeC 10O

Customer’s bank
account’s bank code

  • Only applicable to APM transaction
accountNameC 50O

Customer’s bank account name

  • Only applicable to APM transaction
accountNumberC 50O

Customer’s bank account number

  • Only applicable to APM transaction
subMerchantListArrayOOnly applicable to
MasterMerchant
Account
userDefined1C 150OUser defined data.
userDefined2C 150OUser defined data.
userDefined3C 150OUser defined data.
userDefined4C 150OUser defined data.
userDefined5C 150OUser defined data.
idempotencyIDC 100OA repeated request with the same idempotencyID will return the same response as the original request

 

Settle / Capture Request Parameters


<PaymentProcessRequest>
  <version>3.8</version>
  <timeStamp></timeStamp>
  <merchantID></merchantID>
  <processType>S</processType>
  <invoiceNo></invoiceNo>
  <actionAmount></actionAmount>
  <subMerchantList>
   <subMerchant subMID="" subAmount="" />
   <subMerchant subMID="" subAmount="" />
  </subMerchantList>
  <idempotencyID></idempotencyID>
</PaymentProcessRequest>
ParameterData Type/ LengthMandatoryDescription
versionAN 5MRequest version number

Current : 3.8
timeStampC 22ORequest time stamp

* In ddMMyyHHmmss format
merchantIDC 15MMerchant ID
processTypeC 2MPayment process command

* S = Settlement
invoiceNoC 50MInvoice number / order ID
actionAmountD 10,2MAmount

In two-decimal format
Should not exceed original transaction amount
subMerchantListArrayOOnly applicable to
MasterMerchant
Account
subMerchant.subMIDC 15MSub Merchant ID
subMerchant.subAmountD 10,2MSettlement amount

In two-decimal format
Total of all subAmount(s)
must match the actionAmount
userDefined1C 150OUser defined data.
userDefined2C 150OUser defined data.
userDefined3C 150OUser defined data.
userDefined4C 150OUser defined data.
userDefined5C 150OUser defined data.
idempotencyIDC 100OA repeated request with the same idempotencyID will return the same response as the original request

 

Refund Status Inquiry Request Parameters


ParameterData Type/ LengthMandatoryDescription
versionAN 5MRequest version number

Current : 3.8
timeStampC 22ORequest time stamp

* In ddMMyyHHmmss format
merchantIDC 15MMerchant ID
processTypeC 2MPayment process command

* RS = Refund Status
invoiceNoC 50MInvoice number / order ID
actionAmountD 10,2OAmount

* In two-decimal format

 

Response Parameters


<PaymentProcessResponse>
  <version></version>
  <timeStamp></timeStamp>
  <respCode></respCode>
  <respDesc></respDesc>
  <processType></processType>
  <invoiceNo></invoiceNo>
  <amount></amount>
  <status></status>
  <approvalCode></approvalCode>
  <referenceNo></referenceNo>
  <transactionDateTime></transactionDateTime>
  <paidAgent></paidAgent>
  <paidChannel></paidChannel>
  <maskedPan></maskedPan>
  <eci></eci>
  <subMerchantList>
   <subMerchant subMID="" subAmount="" />
   <subMerchant subMID="" subAmount="" />
  </subMerchantList>
  <refundList>
   <refund referenceNo="" status="" amount="" dateTime=””
  userDefined1="" userDefined2="" userDefined3="" userDefined4=""
  userDefined5="" />
   <refund referenceNo="" status="" amount="" dateTime=””
  userDefined1="" userDefined2="" userDefined3="" userDefined4=""
  userDefined5=""/>
  </refundList>
  <paymentScheme></paymentScheme>
  <processBy></processBy>
  <idempotencyID></idempotencyID>
</PaymentProcessResponse>
ParameterData Type / LengthMandatoryDescription
versionAN 5MRequest version number

Current version 3.8
timeStampC 22MRequest time stamp

* In ddMMyyHHmmss format
respCodeC 2MResponse code

Refer to Response Code List
respDescC 100MResponse code description
processTypeC 2MPayment process
command

I = Inquiry
S = Settlement
V = Void/Cancel
R = Refund
* RS = Refund Status
invoiceNoC 50MUnique transaction invoice number

* Generated by merchant
amountD 10,2MPayment amount made by customer, or refund /
captured amount
statusC 3MStatus of the transaction
requested

Refer to Status Code List
approvalCodeC 6OTransaction Approval Code

* Provided by credit
card host or by
WebPay provider
referenceNoC 30OReference number
refundReferenceNoC 30ORefund reference
number
transactionDateTimeC 14OTransaction date and time

* In yyyyMMddHHmmss format
paidAgentC 30OAgent code that customer made payment with

Refer to Agent List.
paidChannelC 30OChannel code that customer made payment with

Refer to Channel List.
maskedPanC 16OMasked credit card number
eciC 3O3DS E-Commerce
Indicator

* Only for card payment
subMerchantList[Array]OOnly applicable to
MasterMerchant Account
subMerchant.subMIDC 15MSub Merchant ID

* Required only for
MasterMerchant Account.
subMerchant.subAmountD 10,2MRefunded / settled
amount

In two-decimal format
Required only for
Master Merchant Account
refundList[Array]OOnly applicable to Refund Status request
refund.referenceNoC 30MRefund reference number

* Returned by PGW upon completion of refund request
refund.statusC 3MRefund status

Refer to Status List.
refund.amountD 10,2MPayment amount made by customer, or refund /
captured amount
refund.dateTimeC 14MRefund approval date and time

* In yyyyMMddHHmmss format
refund.userDefined1C 150OUser defined data.
refund.userDefined2C 150OUser defined data.
refund.userDefined3C 150OUser defined data.
refund.userDefined4C 150OUser defined data.
refund.userDefined5C 150OUser defined data.
paymentSchemeC 2OCard brand / payment scheme

Refer to Card Scheme List.
processByC 2OPayment process by code

Refer to Process By List.
userDefined1C 150OUser defined data.
userDefined2C 150OUser defined data.
userDefined3C 150OUser defined data.
userDefined4C 150OUser defined data.
userDefined5C 150OUser defined data.
idempotencyIDC 100OA repeated request with the same idempotencyID will return the same response as the original request