Skip to main content

Provisional Credit

The Provisional Credit API enables financial institutions to temporarily credit a customer's account during a dispute investigation involving unauthorized or incorrect debit transactions. This API allows banks or business operations teams to initiate a provisional credit process, ensuring regulatory compliance and enhancing customer trust by providing timely resolution while the dispute is under review..

Method: POST

{{URL}}/rpc/paymentv2

Example

Request Parameters
ParameterDescription
method
Mandatory
String
RPC method name
Constant Value : "ledger.transfer"
id
Mandatory
String
Unique ID for the request
payload.channel
Mandatory
String
Payment channel through which the transaction is processed.
Constant Value : "API"
payload.transactionType
Mandatory
String
Type of transaction.
Constant value : "PROVISIONAL_CREDIT"
payload.transactionDateTime
Optional (in struct it is not required but if it is empty posted date will be empty)
String
Date and time of the transaction initiation (YYYY-MM-DD HH:MM:SS)
Sample Value : "2021-01-19 06:20:25"
payload.reference
Mandatory
String
Unique reference ID of the transaction.
Sample Value : "65323564567089"
payload.reason
Optional
String
Purpose of the transaction.
Sample value : "Dispute for Txn-QA00000009992007"
payload.transactionAmount.amount
Mandatory
String
Transaction amount in cents.
payload.transactionAmount.currency
Mandatory
String
Type of currency used.
Sample Value : "USD"
payload.creditorAccount
Mandatory
Object
Account details of the creditor
payload.creditorAccount.identification
Mandatory
String
Account number of creditor
payload.creditorAccount.identificationType
Mandatory
String
Type of account identification.
Sample Value : "ACCOUNT_NUMBER"
params.api.signature
Mandatory
String
Sign the request payload (params.payload) using private key.
Sample Value: "MEQCIAbpxHpdOyBEVlmxPYv7m4Z1OvWJJYw7g7u3GE3T9nmvAiBjKHckSvb1M6O4t7FeWsn2z9Y3dMeYn3HyX/k28ek/Dw=="
params.api.credential
Mandatory
String
Basic (space) [("<Username>:<apiKey>") as Base64 encoded value] to be provided
Sample Value: "Basic bmF2eWEubitlbXBAbmV0eGQuY29tOmY1OWIwY2NlOTU4ZTQ1YTc4MGVhZWIzYWVjOWVjZDAx"
params.api.apiKey
Mandatory
String
API key is provided at the time of device registration.
Sample Value : "f59b0cce958e45a780eaeb3aec9ecd01"

curl --location 'http://localhost:5010/PL/rpc/paymentv2' \
--header 'signature: MEYCIQD7NCB1pEpzlVqSI/iiZF75iZ6M+KsNpjVDbMdm/lj/MAIhANdWP5t69WsbBGDrPbNcXoRDsLK1ON9kw2X4h2tLUksJ' \
--header 'Content-Type: application/json' \
--data '{"method":"ledger.transfer","id":"1","params":
{"payload":{"channel":"API","transactionType":"PROVISIONAL_CREDIT","transactionDateTime":"2025-05-05 06:20:25","reference":"65323564567089","reason":"Dispute for Txn-QA00000009992007","transactionAmount":{"amount":"300","currency":"USD"},"creditorAccount":{"identification":"874563222294167","identificationType":"ACCOUNT_NUMBER"}},"api":{"credential":"Basic bGVnYWxyZXBAZ21haWwuY29tOjFmZWU2NzQ2MzMxZjQ5YzdhOTQ2OTI5NDYxMWMyZWNj","signature":"MEUCIQDaR0g6Czl/Xo8fRqLIz2sjAPO+FO+8Jr5uoV19Gt1BzAIgHNXzaIOhoPfArRfb86GqMKzFTHOaKles3ykSBvnYAFY=","apiKey":"1fee6746331f49c7a9469294611c2ecc"}}}'

Body

{
"method": "ledger.transfer",
"id": "1",
"params": {
"payload": {
"channel": "API",
"transactionType": "PROVISIONAL_CREDIT",
"transactionDateTime": "2025-05-05 06:20:25",
"reference": "65323564567089",
"reason": "Dispute for Txn-QA00000009992007",
"transactionAmount": {
"amount": "300",
"currency": "USD"
},
"creditorAccount": {
"identification": "874563222294167",
"identificationType": "ACCOUNT_NUMBER"
}
},
"api": {
"credential": "Basic bGVnYWxyZXBAZ21haWwuY29tOjFmZWU2NzQ2MzMxZjQ5YzdhOTQ2OTI5NDYxMWMyZWNj",
"signature": "MEUCIQDaR0g6Czl/Xo8fRqLIz2sjAPO+FO+8Jr5uoV19Gt1BzAIgHNXzaIOhoPfArRfb86GqMKzFTHOaKles3ykSBvnYAFY=",
"apiKey": "1fee6746331f49c7a9469294611c2ecc"
}
}
}

Response: 200

Response Parameters
ParameterDescription
api.typeString
Acknowledgment type
api.referenceString
Reference number
api.dateTimeString
Response timestamp
account.accountIdString
Credited account ID
account.balanceCentsInteger
Updated account balance in cents
account.statusString
Enum
Status of the account
Valid values:
- ACTIVE: The account is Active for all transactions.
- DORMANT: Only inbound credit transactions are allowed. The account will automatically transition to 'ACTIVE' when an inbound credit transaction occurs.
- SUSPENDED: No transactions are allowed in this state. The account must be manually changed to Active, typically due to compliance issues. It can also be reactivated based on a court order.
- CLOSED: The account is permanently closed, and no transactions are allowed. Once an account is in this state, it cannot be reactivated.
Sample value: "ACTIVE"
transactionNumberString
System-generated transaction number
transactionStatusString
Status of the Transaction Sample Value : "COMPLETED"
transactionAmountCentsInteger
Amount credited in cents
originalRequestBase64String
Base64-encoded original request
processIdString
Unique process identifier
header.referenceString
Transaction reference
header.apiKeyString
Echoed API Key
header.signatureString
Echoed Signature
{
"id": "1",
"result": {
"api": {
"type": "PROVISIONAL_CREDIT_ACK",
"reference": "65323564567089",
"dateTime": "2025-08-11 12:07:17"
},
"account": {
"accountId": "200566639889443",
"balanceCents": 781485,
"status": "ACTIVE"
},
"transactionNumber": "QA00000002412007",
"transactionStatus": "COMPLETED",
"transactionAmountCents": 300,
"originalRequestBase64": "eyJjaGFubmVsIjoiQVBJIiwidHJhbnNhY3Rpb25UeXBlIjoiUFJPVklTSU9OQUxfQ1JFRElUIiwidHJhbnNhY3Rpb25EYXRlVGltZSI6IjIwMjUtMDUtMDUgMDY6MjA6MjUiLCJyZWZlcmVuY2UiOiI2NTMyMzU2NDU2NzEwMCIsInJlYXNvbiI6IlNldHRsZW1lbnQiLCJ0cmFuc2FjdGlvbkFtb3VudCI6eyJhbW91bnQiOiIzMDAiLCJjdXJyZW5jeSI6IlVTRCJ9LCJjcmVkaXRvckFjY291bnQiOnsiaWRlbnRpZmljYXRpb24iOiI4NzQ1NjMyMjIyOTQxNjciLCJpZGVudGlmaWNhdGlvblR5cGUiOiJBQ0NPVU5UX05VTUJFUiJ9fQ==",
"processId": "PL25081102398007"
},
"header": {
"reference": "65323564567100",
"apiKey": "1fee6746331f49c7a9469294611c2ecc",
"signature": "MEUCIFT/hK4/0iV6ifNzjPLbJVltWSqGBcfEDn6T2lSyqpMtAiEA8QCvx4Dg9puhfnF5H6ywGwEjODsPewUVmgP7u0+FMOs="
}
}