NetBanking

Parameter NameData TypeMandatoryDescription
merchantOrderIdStringyesUnique order ID generated by merchant
amountlongyesAmount of order in Paisa
contraintsListyesDifferent type of constraints that must be applied to the payment
bankIdStringyesBank id from where payment will be completed.
Sample Request
import uuid
from phonepe.sdk.pg.payments.v2.custom_checkout_client import CustomCheckoutClient
from phonepe.sdk.pg.env import Env
from phonepe.sdk.pg.common.models.request.pg_payment_request import PgPaymentRequest
from phonepe.sdk.pg.common.models.request.meta_info import MetaInfo

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

custom_checkout_client = CustomCheckoutClient.get_instance(client_id=client_id,
                                                           client_version=client_version,
                                                           client_secret=client_secret,
                                                           env=env)

merchant_order_id = str(uuid.uuid4())
amount = 100
bank_id = "HDFC"
ui_redirect_url = "<VALID_REDIRECT_URL>"

meta_info = MetaInfo() \
    .udf1("free-text-value-1") \
    .udf2("free-text-value-2") \
    .udf3("free-text-value-3") \
    .udf4("free-text-value-4") \
    .udf5("free-text-value-5") \
    .udf6("free-text-value-6") \
    .udf7("free-text-value-7") \
    .udf8("free-text-value-8") \
    .udf9("free-text-value-9") \
    .udf10("free-text-value-10") \
    .udf11("ref_11") \
    .udf12("tag-12") \
    .udf13("user@13") \
    .udf14("code.14") \
    .udf15("val+15") \
    .build()

custom_checkout_pay_request = PgPaymentRequest.build_net_banking_pay_request(
    amount=amount,
    merchant_order_id=merchant_order_id,
    bank_id=bank_id,
    redirect_url=ui_redirect_url,
    meta_info=meta_info)

custom_checkout_pay_response = custom_checkout_client.pay(custom_checkout_pay_request)
redirect_url = custom_checkout_pay_response.redirect_url

Extract the redirectUrl from the response received

PropertyTypeDescription
orderIdStringOrder Id created by PhonePe
stateStringState of the order. Initially it will be PENDING.
expireAtLongOrder expire date in epoch
redirectUrlStringRedirect url to perform the Net Banking for mentioned bankId
Is this article helpful?