Refund

The refund() method is used to initiate the refund, by passing the below parameters in the builder: RefundRequest.build_refund_request()

Parameters:

Parameter nameData TypeMandatoryDescriptionConstraints
merchant_refund_idStrYesUnique merchant refund id generated by merchantMax Length = 63 characters
original_merchant_order_idStrYes
Original merchant order id against which refund is required
amountIntYesAmount in paisa to refundMin value = 100 (in paise), Max value = order amount

Example Usage:

import uuid from phonepe.sdk.pg.common.models.request.refund_request import RefundRequest from phonepe.sdk.pg.subscription.v2.subscription_client import SubscriptionClient client_id = "<client_id>" client_secret = "<client_secret>" client_version = 1 # insert your client version here env = Env.SANDBOX # change to Env.PRODUCTION when you go live subscription_client = SubscriptionClient.get_instance(client_id, client_secret, client_version, env) merchant_refund_id = str(uuid.uuid4()) original_merchant_id = "<merchant_order_id>" amount = 100 refund_request = RefundRequest.build_refund_request(merchant_refund_id, amount, original_merchant_id) refund_response = subscription_client.refund(refund_request) state = refund_response.state

Returns :

The function returns a RefundResponse Object

PropertyData TypeDescription
refund_idStrPhonePe generated internal refund id
stateStrThe state of the refund initiated. Initially it will be PENDING
amountIntAmount in paisa that will be refunded