E-Money

E-Money Refund

Refund E-Money transactions via Paylabs API.

Request URL

URL: ${ROOT_URL}/payment/v2.3/ewallet/refund

HTTPMethod: POST

EndpointUrl: /payment/v2.3/ewallet/refund

Refund Supported Channel

ChannelSupport
DANAY
ShopeeY
LinkajaY
OVON
GopayY

E-Money Refund Request Parameters

Data Signing Rules

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)Signature. For details please check Data Signing RulesYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)Unique ID for each requestYes

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

Data Signing Rules

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)Signature. For details please check Data Signing RulesYes
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"
}