E-Money

E-Money Refund

Refund E-Money transactions via Paylabs API.

Request URL

FieldValue
URL${ROOT_URL}/payment/v2.3/ewallet/refund
MethodPOST
Endpoint/payment/v2.3/ewallet/refund

Refund Supported Channel

ChannelSupport
DANAN
ShopeeY
LinkajaY
OVON
GopayY

E-Money Refund Request Parameters

Field NameTypeRequiredDescription
Content-TypeString(30)YesFixed value "application/json;charset=utf-8"
X-TIMESTAMPString(29)YesCurrent time, format 2026-01-30T12:00:00.000+07:00
X-SIGNATUREString(64)YesSignature. For details please check Data Signing Rules
X-PARTNER-IDString(20)YesMerchant ID
X-REQUEST-IDString(64)YesUnique ID for each request

Body

ParameterTypeRequiredRemarks
requestIdString(64)YesUnique identifier on every request
merchantIdString(20)YesUnique identifier provided by payment gateway to the merchant
storeIdString(30)NoOnly if merchant has branches and wish to create order using its branch ID
merchantTradeNoString(32)YesMerchant order number
paymentTypeString(20)YesPayment type
amountDecimal(12,2)YesAmount in IDR, two decimals
refundAmountDecimal(12,2)YesRefund amount in IDR, two decimals. Fee auto calculated when request amount and fee type OUR
platformRefundNoString(32)YesPaylabs order number to refund
merchantRefundNoString(32)YesMerchant refund order number
notifyUrlString(200)NoNotification URL after refund done; parameters same as E-Money Inquiry Status
reasonString(200)NoReason for refund
transFeeRateDecimal(6,6)NoTransaction Rate, six decimals
transFeeAmountDecimal(12,2)NoFees, two decimals
totalTransFeeDecimal(12,2)NoTotal transaction fee rate (excluding vatFee), two decimals
vatFeeDecimal(12,2)NoTaxes, two decimals

E-Money Refund Response Parameters

Header

Field NameTypeValueRequired
Content-TypeString(30)Fixed value "application/json;charset=utf-8"Yes
X-TIMESTAMPString(29)Current time, format 2022-09-16T16:58:47.964+07:00Yes
X-SIGNATUREString(64)Paylabs SignatureYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)Unique ID for each requestYes

Body

Error Code

ParameterTypeRequiredRemarks
requestIdString(64)YesUnique identifier on every request
errCodeString(32)Yes0 means success, otherwise see Error Code
errCodeDesString(128)NoError description
merchantIdString(20)YesMerchant ID
storeIdString(30)NoOnly if using branch ID channel account
paymentTypeString(20)YesPayment type
amountDecimal(12,2)YesAmount in IDR, two decimals
requestAmountdecimal(12,2)No
merchantRefundNoString(32)YesRefund number
merchantTradeNoString(32)YesMerchant order number
platformTradeNoString(32)NoPaylabs Platform Transaction Number
createTimeString(16)NoyyyyMMddHHmmss
successTimeString(16)NoyyyyMMddHHmmss
statusString(2)No02: Refund success, 03: Refund in progress, 05: Refund failed

Example

Request

POST /payment/v2.3/ewallet/query
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx

# HTTP Body
{
  "merchantId":"0010001",
  "merchantTradeNo":"100100011650869509422",
  "requestId":"200100011650869509422",
  "paymentType":"DANABALANCE",
  "amount":"10000.00",
  "refundAmount":"10000.00",
  "merchantRefundNo":"100100011650869509423",
  "platformRefundNo":"100100011650869509423",
  "reason":"test",
  "transFeeRate":"0",
  "transFeeAmount":"0",
  "totalTransFee":"0",
  "vatFee":"0"
}

Response

POST /payment/v2.3/ewallet/query
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx

# HTTP Body
{
  "errCode":0,
  "merchantId":"0010001",
  "merchantTradeNo":"100100011650869509422",
  "requestId":"200100011650869509422",
  "paymentType":"DANABALANCE",
  "amount":"10000.00",
  "merchantRefundNo":"100100011650869509423",
  "status":"05"
}