Developers

This page is a ZenPay-styled copy of the Zenith Payments developer documentation. View the original docs

Payments API

A payment is a one-off charge against a customer's card or bank account. Payments support card proxies, customer references, refunds, and 3D Secure authentication.

List payments#

GET/v2/payments

View this endpoint in the original docs

Returns payments that match the supplied filter criteria.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
customerReferencequerystring

Filter by the merchant's unique reference for the customer.

fromProcessedDatequerystring <date-time>

Return payments processed on or after this date and time. Format: ISO 8601 date-time.

toProcessedDatequerystring <date-time>

Return payments processed on or before this date and time. Format: ISO 8601 date-time.

settlementDatequerystring <date-time>

Filter by settlement date. Format: ISO 8601 date-time.

paymentSettlementqueryinteger <int32>

Filter by payment settlement status. Values: 0=All, 1=Settled, 2=NotSettled.

Allowed values: 0 All, 1 Settled, 2 NotSettled
Default: 0
transactionTypesqueryarray of integer <int32>

Filter by transaction type.

Allowed values: 1 Charge, 2 InvoicePayment, 3 Refund, 4 Chargeback, 5 Recall, 6 FixedTermSettlement, 7 SponsorInvoicePayment, 8 MerchantSettlementAdjustmentPayment, 9 Preauthorization, 10 Credit
settlementReferencequerystring

Filter by the reference for the settlement the payment was paid out in.

merchantSettlementReferencequerystring

Filter by the reference for the merchant settlement the payment was paid out in.

isRecalledqueryboolean

Filter by whether the payment has been recalled.

isRefundedqueryboolean

Filter by whether the payment has been refunded.

isChargeBackedqueryboolean

Filter by whether the payment has been chargebacked.

offsetqueryinteger <int32>

The zero-based index of the first record to return. Default: 0.

Default: 0
limitqueryinteger <int32>

The maximum number of records to return.

Default: 20

Responses

200 Return all the payments satisfies the filters.

application/json · array of object (PaymentResponse)

Example: No matching payments

An empty result is different from an error. Name it by the result, not only the chosen filter.

JSON
[]

Example: Payments for one customer

One populated collection; query variants belong in parameter documentation.

JSON
[
  {
    "abn": "51824753556",
    "accountOrCardNo": "555555XXXXXX4444",
    "additionalData": {
      "authCode": "SAMPLE_AUTH_CODE",
      "rrn": "SAMPLE_RRN",
      "stan": "SAMPLE_STAN"
    },
    "additionalReference": "ex-add-ref",
    "baseAmount": 1,
    "cardCategory": "International Cards",
    "cardTypeString": "Mastercard",
    "cardTypeValue": 2,
    "customerFee": 0,
    "customerName": "Test Customer",
    "customerReference": "cust-pay-4645997731713",
    "fundsToMerchant": 1,
    "isPaymentChargeBacked": false,
    "isPaymentRecalled": false,
    "isPaymentRefunded": false,
    "isPaymentRetryScheduled": false,
    "isPaymentSettledToMerchant": false,
    "merchantCode": "1337",
    "merchantFee": 0,
    "merchantName": "Menethil",
    "merchantUniquePaymentId": "pay-4601276609115",
    "oneOffPaymentReference": "oneoff-3744147771503",
    "paymentAccount": "Card",
    "paymentAmount": 1,
    "paymentCard": "MasterCard",
    "paymentReference": "247439",
    "paymentSourceDisplay": "Api Tokenised Payment",
    "paymentStatus": "Successful",
    "processingDate": "2026-09-24T00:37:09.113",
    "processorReference": "3f4d6f4811031a99ec1b",
    "settlementDate": "2026-09-25T00:00:00",
    "settlementFrequencyString": "Monthly",
    "settlementFrequencyValue": 2,
    "settlementType": "Gross",
    "subCardTypeString": "",
    "transactionType": 1,
    "transactionTypeDisplay": "Charge"
  }
]

400 Invalid get request.

application/json · object

500 Something went wrong. Please try again.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X GET 'https://api.sandbox.zenpay.com.au/v2/payments' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Accept: application/json'

Create a payment#

POST/v2/payments

View this endpoint in the original docs

Creates a payment from the supplied request payload.

Authentication: Api-Key + BasicAuth

Request body

Payment request details. Use a customer reference and payment amount for customer-based payments, or provide the required card proxy-based payment details.

Content types: application/json, application/x-www-form-urlencoded · required

Schema: PaymentRequest

FieldTypeDescription
abnstring

Customer Australian Business Number.

additionalReferencestring

Additional reference. This field is returned in reconciliation reports.

cardobject (PaymentCard)

PAN detail.

cardProxystring

Card Proxy (Conditional). Use only if you want to pay using card proxy.

companyNamestring

Customer company name.

contactNumberstring

Customer contact number.

customerEmailstring

The customer email to which an invoice is sent to.

customerNamestring

Customer name.

customerReference requiredstring

Customer reference. Required only when payment account proxy or card proxy is not provided.

merchantUniquePaymentIdstring

Unique payment id provided by the merchant.

Max length: 50
oneOffPaymentReferencestring

One Off Payment reference. This field is returned in reconciliation reports.

overrideFeePayer requiredinteger <int32>

Override Fee Payer. This field is to determine who is paying transaction fee. 0 Use Set Profile - default 1 Merchant Pays Fee (if allowed) 2 Customer Pays Fee (if allowed).

Allowed values: 0 Default, 1 Merchant, 2 Customer
paymentAccountProxyobject (AccountProxy)

Card or bank account proxy. Proxy is generated using the Payments Plugin for bank account and card or /cardProxies API for card.

paymentAmount requirednumber <double>

Payment amount.

sendPaymentConfirmationboolean

Flag to send the customer invoice.

threeDSecureDataobject (ThreeDSecureData)

Optional. 3DSecure details.

Example: Payment with a card proxy

Tokenised-card input.

JSON
{
  "cardProxy": "b8375f607e284aef8159c606900c9c6e",
  "customerName": "Test Customer",
  "customerReference": "capb-cp-8494949996937",
  "merchantUniquePaymentId": "capb-cp-8494949996937",
  "overrideFeePayer": 0,
  "paymentAmount": 1,
  "sendPaymentConfirmation": false
}

Example: Payment with a payment account proxy

General payment-account-proxy input; this capture demonstrates a card, not a bank-account payment.

JSON
{
  "customerName": "Test Customer",
  "customerReference": "cust-pay-3968971989583",
  "merchantUniquePaymentId": "pay-pap-8951947991736",
  "overrideFeePayer": 0,
  "paymentAccountProxy": {
    "label": "example proxy",
    "proxy": "28af7a4d596e4acdbb639451461db5e2"
  },
  "paymentAmount": 1,
  "sendPaymentConfirmation": false
}

Example: Payment with card details

Direct card input.

JSON
{
  "card": {
    "cardHolder": "Test Cardholder",
    "cardNumber": "5555555555554444",
    "cvv": "123",
    "expiryMonth": "12",
    "expiryYear": "2029"
  },
  "customerName": "Test Customer",
  "customerReference": "cust-pay-8622934799874",
  "merchantUniquePaymentId": "pay-card-4268747464520",
  "overrideFeePayer": 0,
  "paymentAmount": 1,
  "sendPaymentConfirmation": false,
  "threeDSecureData": {
    "browserData": {
      "acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
      "colorDepth": 24,
      "ipAddress": "203.0.113.10",
      "language": "en-AU",
      "screenHeight": 1080,
      "screenWidth": 1920,
      "timezone": "-600",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
    },
    "callbackUrl": "https://httpbin.org/post?uniqueId=[uniqueId]&status=[status]",
    "redirectUrl": "https://httpbin.org/get",
    "useThreeDSecure": false
  }
}

Example: Payment with the stored customer method

Customer-reference-only funding input. The capture does not demonstrate a customer-paid fee.

JSON
{
  "customerName": "Test Customer",
  "customerReference": "cust-pay-6420430319849",
  "merchantUniquePaymentId": "capb-cpf-8937151476740",
  "overrideFeePayer": 2,
  "paymentAmount": 1,
  "sendPaymentConfirmation": false
}

Responses

201 Payment is processed.

application/json · object (PaymentResponse)

Example: Payment with a card proxy

Tokenised-card input.

JSON
{
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "baseAmount": 1,
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerFee": 0,
  "customerName": "Test Customer",
  "customerReference": "capb-cp-8494949996937",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "capb-cp-8494949996937",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247428",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:36:53.8148717",
  "processorReference": "ea1f2045568efdac1f4b",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

Example: Payment with a payment account proxy

General payment-account-proxy input; this capture demonstrates a card, not a bank-account payment.

JSON
{
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "baseAmount": 1,
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerFee": 0,
  "customerName": "Test Customer",
  "customerReference": "cust-pay-3968971989583",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "pay-pap-8951947991736",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247435",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:37:05.4247203",
  "processorReference": "16ea56dbaa6de43a7a87",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

Example: Payment with card details

Direct card input.

JSON
{
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "baseAmount": 1,
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerFee": 0,
  "customerName": "Test Customer",
  "customerReference": "cust-pay-8622934799874",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "pay-card-4268747464520",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247430",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:36:56.7211858",
  "processorReference": "5b0017b6aa0d4ef9c4dd",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

Example: Payment with the stored customer method

Customer-reference-only funding input. The capture does not demonstrate a customer-paid fee.

JSON
{
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "baseAmount": 1,
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerCode": "BB11226984",
  "customerFee": 0,
  "customerName": "Test Card",
  "customerReference": "cust-pay-6420430319849",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "capb-cpf-8937151476740",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247442",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:37:14.9407496",
  "processorReference": "ffa254dcc3b855605d4a",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

300 Duplicate merchant unique id.

application/json · object

400 Invalid input detail.

application/json · object

Example: Payment id already used

Duplicate submission handling; use the observed status.

JSON
{
  "message": "The request is invalid.",
  "modelState": {
    "merchantUniquePaymentId": [
      "This request has already been processed. Please use a new MerchantUniquePaymentId for a new request."
    ]
  }
}

500 Something went wrong. Payment may or may not be created.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X POST 'https://api.sandbox.zenpay.com.au/v2/payments' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Content-Type: application/json' \
  -d '{
  "cardProxy": "b8375f607e284aef8159c606900c9c6e",
  "customerName": "Test Customer",
  "customerReference": "capb-cp-8494949996937",
  "merchantUniquePaymentId": "capb-cp-8494949996937",
  "overrideFeePayer": 0,
  "paymentAmount": 1,
  "sendPaymentConfirmation": false
}'

Get a payment by merchant unique ID#

GET/v2/payments/uniqueId/{merchantUniqueId}

View this endpoint in the original docs

Returns the payment for the specified merchant unique ID.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
merchantUniqueId requiredpathstring

The merchant's unique identifier for the payment. Provided by the merchant when creating a payment.

Responses

200 Found the payment.

application/json · object (PaymentResponse)

Example: Payment by unique id

Baseline lookup through the merchant identifier route.

JSON
{
  "abn": "51824753556",
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "additionalReference": "ex-add-ref",
  "baseAmount": 1,
  "cardCategory": "International Cards",
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerFee": 0,
  "customerName": "Test Customer",
  "customerReference": "cust-pay-4645997731713",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "pay-4601276609115",
  "oneOffPaymentReference": "oneoff-3744147771503",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247439",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:37:09.113",
  "processorReference": "3f4d6f4811031a99ec1b",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

400 Invalid payment reference.

application/json · object

404 Unable to find the payment by the reference provided.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X GET 'https://api.sandbox.zenpay.com.au/v2/payments/uniqueId/{merchantUniqueId}' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Accept: application/json'

Get a refund request#

GET/v2/payments/uniqueId/{paymentReference}/refundrequests/{refundRequestUniqueId}

View this endpoint in the original docs

Returns the refund request for the specified payment and refund request unique ID.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
paymentReference requiredpathstring

The unique reference for the payment.

refundRequestUniqueId requiredpathstring

The merchant's unique identifier for the refund request.

Responses

200 Return refund request for the provided payment reference.

application/json · object (RefundResponse)

Example: One refund request

Preserve the captured array even though this is a single-request lookup.

JSON
[
  {
    "additionalReference": "ex-add-ref",
    "merchantCode": "1337",
    "merchantName": "Menethil",
    "paymentReference": "247439",
    "refundRequestUniqueId": "refund-5616244556149",
    "refundValue": 3,
    "refundValueString": "Processed Amount",
    "requestReason": "Example capture",
    "requestStatus": 0,
    "requestStatusString": "Pending"
  }
]

400 Invalid input detail.

application/json · object

404 Unable to find the refund request by the reference provided.

application/json · object

500 Something went wrong. Please try again.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X GET 'https://api.sandbox.zenpay.com.au/v2/payments/uniqueId/{paymentReference}/refundrequests/{refundRequestUniqueId}' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Accept: application/json'

Get a payment#

GET/v2/payments/{paymentReference}

View this endpoint in the original docs

Returns the payment for the specified payment reference.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
paymentReference requiredpathstring

The unique reference for the payment.

Responses

200 Found the payment.

application/json · object (PaymentResponse)

Example: Payment

Baseline lookup by payment reference.

JSON
{
  "abn": "51824753556",
  "accountOrCardNo": "555555XXXXXX4444",
  "additionalData": {
    "authCode": "SAMPLE_AUTH_CODE",
    "rrn": "SAMPLE_RRN",
    "stan": "SAMPLE_STAN"
  },
  "additionalReference": "ex-add-ref",
  "baseAmount": 1,
  "cardCategory": "International Cards",
  "cardTypeString": "Mastercard",
  "cardTypeValue": 2,
  "customerFee": 0,
  "customerName": "Test Customer",
  "customerReference": "cust-pay-4645997731713",
  "fundsToMerchant": 1,
  "isPaymentChargeBacked": false,
  "isPaymentRecalled": false,
  "isPaymentRefunded": false,
  "isPaymentRetryScheduled": false,
  "isPaymentSettledToMerchant": false,
  "merchantCode": "1337",
  "merchantFee": 0,
  "merchantName": "Menethil",
  "merchantUniquePaymentId": "pay-4601276609115",
  "oneOffPaymentReference": "oneoff-3744147771503",
  "paymentAccount": "Card",
  "paymentAmount": 1,
  "paymentCard": "MasterCard",
  "paymentReference": "247439",
  "paymentSourceDisplay": "Api Tokenised Payment",
  "paymentStatus": "Successful",
  "processingDate": "2026-09-24T00:37:09.113",
  "processorReference": "3f4d6f4811031a99ec1b",
  "settlementDate": "2026-09-25T00:00:00",
  "settlementFrequencyString": "Monthly",
  "settlementFrequencyValue": 2,
  "settlementType": "Gross",
  "subCardTypeString": "",
  "transactionType": 1,
  "transactionTypeDisplay": "Charge"
}

400 Invalid payment reference.

application/json · object

404 Unable to find the payment by the reference provided.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X GET 'https://api.sandbox.zenpay.com.au/v2/payments/{paymentReference}' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Accept: application/json'

List refund requests#

GET/v2/payments/{paymentReference}/refundrequests

View this endpoint in the original docs

Returns the refund requests for the specified payment.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
paymentReference requiredpathstring

The unique reference for the payment.

Responses

200 Return refund request for the provided payment reference.

application/json · array of object (RefundResponse)

Example: Refund requests of a payment

Shows refund requests separately from the payment record.

JSON
[
  {
    "additionalReference": "ex-add-ref",
    "merchantCode": "1337",
    "merchantName": "Menethil",
    "paymentReference": "247439",
    "refundRequestUniqueId": "refund-5616244556149",
    "refundValue": 3,
    "refundValueString": "Processed Amount",
    "requestReason": "Example capture",
    "requestStatus": 0,
    "requestStatusString": "Pending"
  }
]

400 Invalid input detail.

application/json · object

404 Payment not found.

500 Something went wrong. Please try again.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X GET 'https://api.sandbox.zenpay.com.au/v2/payments/{paymentReference}/refundrequests' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Accept: application/json'

Create a refund request#

POST/v2/payments/{paymentReference}/refundrequests

View this endpoint in the original docs

Creates a refund request for the specified payment.

Authentication: Api-Key + BasicAuth

Parameters

NameInTypeDescription
paymentReference requiredpathstring

The unique reference for the payment.

Request body

Refund request details required to create a refund request.

Content types: application/json, application/x-www-form-urlencoded · required

Schema: RefundRequest

FieldTypeDescription
refundAmountnumber <double>

Refund Amount (Conditional). Amount is required when Refund Value is 'Partial' (2).

refundRequestReason requiredstring

Reason for the refund request.

Max length: 50
refundRequestUniqueIdstring

Refund Request Unique Id.

Max length: 50
refundValue requiredinteger <int32>

Refund value - Defaults to 'BaseAmount' (1) if not passed.

Allowed values: 1 Base, 2 Partial, 3 Full

Example: Base amount refund request

Distinct refund basis; preserve the pending-request outcome.

JSON
{
  "refundRequestReason": "Base amount refund",
  "refundRequestUniqueId": "capb-rb-8041694815270",
  "refundValue": 1
}

Example: Full refund request

Distinct refund basis; this is a request, not proof that money was refunded.

JSON
{
  "refundRequestReason": "Full refund capture",
  "refundRequestUniqueId": "capb-rf-4911706428043",
  "refundValue": 3
}

Example: Partial refund request

Shows the explicit amount required for a partial refund request.

JSON
{
  "refundAmount": 50,
  "refundRequestReason": "Partial refund capture",
  "refundRequestUniqueId": "capb-rp-3672802612651",
  "refundValue": 2
}

Responses

201 Refund request is successfully created for the payment.

application/json · array of object (RefundResponse)

Example: Base amount refund request

Distinct refund basis; preserve the pending-request outcome.

JSON
[
  {
    "merchantCode": "1337",
    "merchantName": "Menethil",
    "paymentReference": "247424",
    "refundRequestUniqueId": "capb-rb-8041694815270",
    "refundValue": 1,
    "refundValueString": "Base Amount",
    "requestReason": "Base amount refund",
    "requestStatus": 0,
    "requestStatusString": "Pending"
  }
]

Example: Full refund request

Distinct refund basis; this is a request, not proof that money was refunded.

JSON
[
  {
    "merchantCode": "1337",
    "merchantName": "Menethil",
    "paymentReference": "247442",
    "refundAmount": 1,
    "refundRequestUniqueId": "capb-rf-4911706428043",
    "refundValue": 3,
    "refundValueString": "Processed Amount",
    "requestReason": "Full refund capture",
    "requestStatus": 0,
    "requestStatusString": "Pending"
  }
]

Example: Partial refund request

Shows the explicit amount required for a partial refund request.

JSON
[
  {
    "merchantCode": "1337",
    "merchantName": "Menethil",
    "paymentReference": "247433",
    "refundAmount": 50,
    "refundRequestUniqueId": "capb-rp-3672802612651",
    "refundValue": 2,
    "refundValueString": "Partial Amount",
    "requestReason": "Partial refund capture",
    "requestStatus": 0,
    "requestStatusString": "Pending"
  }
]

300 Duplicate refund request.

application/json · object

Example: Refund request already exists

Operation-specific duplicate refund request.

JSON
{
  "message": "This refund request unique id is already used to create a refund request for this merchant."
}

400 Invalid input detail.

application/json · object

403 Merchant is forbidden to perform this operation.

application/json · object

404 Payment not found.

500 Something went wrong. Please try again.

application/json · object

Example request (cURL, sandbox host)

cURL
curl -X POST 'https://api.sandbox.zenpay.com.au/v2/payments/{paymentReference}/refundrequests' \
  -H 'Api-Key: <your API key>' \
  -u '<username>:<password>' \
  -H 'Content-Type: application/json' \
  -d '{
  "refundRequestReason": "Base amount refund",
  "refundRequestUniqueId": "capb-rb-8041694815270",
  "refundValue": 1
}'
Need help with your integration?Talk to the Zenith Integrations Team.
Email integrationsTalk to us