NetBanking

Use the pay() method to initiate a payment via NetBanking.

Request Parameters
Parameter NameData TypeMandatoryDescription
merchantOrderIdStringYesUnique merchant order id generated by merchant.
amountLongYesOrder amount in paisa.
contraintsListYesDifferent type of constraints that must be applied to the payment.
bankIdStringYesBank id from where payment will be completed.
metaInfoObjectNoMerchant defined meta info to store additional information.
same data will be returned in status and callback response.
• For udf1 to udf10, there is no constraint and Maximum length for Udf1-10 = 256 characters
• For udf11 to udf15, alphanumeric values with _-+@. are allowed and Maximum length for Udf11-15 = 50 characters
• It is mandatory to keep the parameter names udf1udf2, etc., exactly as they are in the metainfo block. Renaming these key values will result in a production error.
Sample Request
import com.phonepe.sdk.pg.common.models.MetaInfo;
import com.phonepe.sdk.pg.common.models.request.PgPaymentRequest;
import com.phonepe.sdk.pg.common.models.response.PgPaymentResponse;
import java.util.UUID;
import com.phonepe.sdk.pg.Env;
import com.phonepe.sdk.pg.payments.v2.CustomCheckoutClient;

String clientId = "<clientId>";
String clientSecret = "<clientSecret>";
Integer clientVersion = <clientVersion>;  // insert your client version here
Env env = Env.SANDBOX;                    // change to Env.PRODUCTION when you go live

CustomCheckoutClient customCheckoutClient = CustomCheckoutClient.getInstance(clientId, clientSecret,
        clientVersion, env);

String merchantOrderId = UUID.randomUUID().toString();
long amount = 100;
String bankId = "HDFC";

MetaInfo metaInfo = MetaInfo.builder()
        .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();

PgPaymentRequest pgPaymentRequest = PgPaymentRequest.NetBankingPayRequestBuilder()
        .merchantOrderId(merchantOrderId)
        .amount(amount)
        .bankId(bankId)
        .metaInfo(metaInfo)
        .build();

PgPaymentResponse pgPaymentResponse = customCheckoutClient.pay(pgPaymentRequest);
String redirectUrl = pgPaymentResponse.getRedirectUrl();

Extract the redirectUrl from the response received.

Field NameData TypeDescription
orderIdStringPG generated internal order id.
stateStringState of the order created, initially it will be PENDING.
expiryAtLongOrder expiry date in epoch (in milliseconds).
redirectUrlStringRedirect url to perform the NetBanking for mentioned bankId
Is this article helpful?