UPI Collect
Use the pay() method to initiate a UPI Collect payment by raising a collect request to the customer’s UPI ID (VPA).
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. |
| String | Yes | VPA against which collect request need to be raised. |
Sample Request
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 vpa = "<VALID_VPA>";
PgPaymentRequest pgPaymentRequest = PgPaymentRequest.UpiCollectPayViaVpaRequestBuilder()
.vpa(vpa)
.amount(amount)
.merchantOrderId(merchantOrderId)
.message("Collect Message")
.build();
PgPaymentResponse pgPaymentResponse = customCheckoutClient.pay(pgPaymentRequest);Response
The function will raise the collect request to the above mentioned vpa.
| 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). |