Refund Creation Endpoint
Create refunds requests from a completed deposit
Last updated
Create refunds requests from a completed deposit
Last updated
POST
https://api-stg.directa24.com/api_curl/apd/refund
This endpoint allows you to request a partial or complete refund over a completed transaction.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
All the requests must be in x-www-form-urlencoded format and contain the following header:
Content-Type: application/x-www-form-urlencoded
The refund control signature (x_control
) is an HMAC256 that encrypts the content of the request with your own secretkey
. It must include the all the above fields and use empty ("") in case of an optional one is not sent:
x_invoice
x_document
x_amount
x_bank_beneficiary
x_bank -> You can leave this empty if not send in the request.
x_bank_account
x_account_type
x_bank_branch
secretKey - your DEPOSIT API Signature which can be found in Settings -> API Access
The Control String for deposits must be in Upper Case and must include all the above mentioned fields even if any of those are empty. Each field should be converted to UTF-8 before actually hashing it to prevent Invalid Control Hash
error when sending characters with different encodings. Please check the Examples in the different languages on how to properly calculate the Control String.
These are the status codes returned by the API.
The refund response control signature (x_control
) is an HMAC256 that encrypts the content of the request with your own secretkey
. It must include the all the above fields and use empty ("") in case of an optional one is not sent:
result
x_amount
x_currency
x_invoice
x_document
x_refund
secretKey - your DEPOSIT API Signature which can be found in Settings -> API Access
The Control String for deposits response must be in Upper Case and must include all the above mentioned fields even if any of those are empty. Each field should be converted to UTF-8 before actually hashing it to prevent Invalid Control Hash
error when sending characters with different encodings. Please check the Examples in the different languages on how to properly calculate the Control String.
Content-Type
string
application/x-www-form-urlencoded
x_login
string
Your Deposits API Key, can be retrieved from the Merchant Panel by going to Settings -> API Access
x_trans_key
string
Your Deposits API Passphrase, can be retrieved from the Merchant Panel by going to Settings -> API Access
x_invoice
string
Deposit ID on your end
x_document
string
Deposit ID on D24's end
x_amount
string
The amount you want to refund
x_currency
string
The currency of the amount
x_bank_beneficiary
string
Customer's name and lastname
x_bank_code
string
Customer's bank name
x_bank_account
string
Customer's bank account number
x_account_type
string
Customer's bank account type
x_bank_branch
string
Customer's bank branch
x_control
string
HMAC256 control signature
x_comments
string
A comment for the refund
type
string
The format of the response: XML, JSON or STRING.
Field name
Format
Description
Default
Validations
x_login
string (max length: 32)
Your Deposits API Key, can be retrieved from the Merchant Panel by going to Settings -> API Access
Valid credential
x_trans_key
string (max length: 32)
Your Deposits API Passphrase, can be retrieved from the Merchant Panel by going to Settings -> API Access
Valid credential
x_invoice
string (max length: 125)
Deposit ID on your end
x_document
number (max length: 11)
Deposit ID on D24's end
x_amount
decimal (max decimal numbers: 2)
The amount you want to refund. If none is sent, full deposit amount will be assumed
full value
Valid number equal or smaller than the deposit amount
x_currency
string (max length: 3)
The currency used for the amount specified. If none is sent, the country local currency will be assumed
country local currency
See the list of currencies
x_bank_beneficiary
string (max length: 100)
Customer's name and lastname
x_bank_code
string (max length: 45)
Customer's bank code. Retrieve it by using the Bank Codes API
Valid bank code.
x_bank
string (max length: 45)
Customer's bank name. This field is optional and used in the control string.
x_bank_account
string (max length: 45)
Customer's bank account
x_account_type
string (max lenght: 1)
Customer's account type code
C: current accounts
S: savings accounts
V: salary accounts
O: joint checking accounts
P: joint savings account
x_bank_branch
string (max lenght: 15)
Customer's bank branch
x_control
string (max length: 32)
HMAC256 control signature
See instructions
x_comments
string (max lenght: 200)
A comment for the refund
type
string (max length: 20)
The format of the response. If none is specified JSON will be assumed
JSON
[XML, JSON, STRING]
Field
Description
status
Refund's status, can be OK or ERROR
desc
Response description: "Pending" / "Completed" / "Rejected" / "Cancelled" / error_message.
control
Control signature.
result
Refund's result
x_invoice
Unique identification for the transaction in your end.
x_document
Unique transaction's ID at D24.
x_amount
Refund's amount (same as the request).
x_currency
Refund's currency (same as the request).
x_amount_refunded
The refunded amount, in local currency.
x_refund
Unique refund's reference at D24.
error_code
Returned only when the status is Error
Code
Description
0
Refund pending
1
Refund completed. Final status
2
Refund canceled. Final status
3
Refund rejected or failed. Final status