NetBanking
Use the pay() method to initiate a payment via NetBanking.
Request
Request Parameters
| Parameter Name | Data Type | Mandatory | Description |
merchantOrderId | String | Yes | Unique merchant order id generated by merchant. |
amount | Long | Yes | Order amount in paisa. |
| List | Yes | Different type of constraints that must be applied to the payment. |
bankId | String | Yes | Bank id from where payment will be completed. |
metaInfo | Object | No | Merchant 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 udf1, udf2, 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();
Response
Extract the redirectUrl from the response received.
| Field Name | Data Type | Description |
orderId | String | PG generated internal order id. |
state | String | State of the order created, initially it will be PENDING. |
expiryAt | Long | Order expiry date in epoch (in milliseconds). |
| String | Redirect url to perform the NetBanking for mentioned bankId |