Custom – Token

  • RSA Encrypt Data
  • Custom – Card

RSA Encrypt Data

This method is used to RSA Encrypt the data with the provided public key. You need to pass two things to the encryptdata function and returns the encrypted data using the public key shared.

Parameters

ParameterTypeMandatoryDescription
datastrYesThe data to encrypt, generally it is the token number or the card cvv.
publicKeystrYesThe public key is provided by PhonePe that will be used for encryption.

Example – RSA Encrypt Data

const PLUBLICKEY = "publickey" $data= "105"; $encryptedData = $phonePePaymentsClient->encryptedData(PRODPUBLICKEY, $data);

Returns

The encrypted data.

Returns

ParameterDescription
dataThe encrypted data

Custom – Token

Builds PgPayRequest with Token as the payment instrument.

Parameters

ParameterTypeMandatoryDescription
authModestrYesThe authentication mode for the token payment. Generally 3DS, example 3DS, H2H.
encryptedCvvstrYesThe encrypted CVV of the tokenized card. You can use the EncryptedData function to encrypt unencrypted cvv.
cryptogramstrYesThe cryptogram associated with the tokenized card.
encryptedTokenstrYesThe encrypted token representing the card. You can use the EncryptedData function to encrypt unencrypted token.
encryptionKeyidintYesThe ID of the encryption key used for the tokenized card. You can use the EncryptedData function to encrypt unencrypted encryption key id.
expiryMonthstrYesThe expiry month of the tokenized card.
expiryYearstrYesThe expiry year of the tokenized card.
panSuffixstrYesThe last 4 digits of the tokenized card number.
cardHolderNamestrYesThe name of the cardholder associated with the tokenized card.

Example (Custom – Token)

const $MERCHANTID="<merchantId>"; const $SALTKEY="<saltKey>"; const $SALTINDEX="<saltIndex>"; const $env=Env::UAT; const $SHOULDPUBLISHEVENTS=true; $phonePePaymentsClient = new PhonePePaymentClient(MERCHANTID, SALTKEY, SALTINDEX, Env::UAT, SHOLDPUBLISHEVENTS); $tokenCvv = "elsmatmiYs+ZzXwdO2/BXf96DoZQ2uGkkHfN34331edarer6LFhUN9GpkYYHH8ebPD4q8Fst4v4GAXAcwqzesvstaTkpfouOosWvXUR6wQDXV6yy8gwf88fR+GGMyUXjmnEjiXqVSNhhJcd1HVobJLInvFWl1Y1zeuo8T7IFEAxC0Mu5CfrFD3uNgNiIJwp0BRc67bCFQyiOtXK+MmeijVBa5PeP2/CZdHW+8sn2wLrm5R6MRS7HIfs8S2vytUVUW74VVPZRRVMVgMs3sPQyR/YbaEeRby1Ec01r/trW2H+2smusuyelTzQTCwLbRG153ZjbtUyl3TrRfbgEhfZwDxcBa9EbIKDQkTRnh4ooKLK7HaUb8t7K70hpzV/cJ7b5AML/RMjG4DCyomegGRP/NbrXFZbrk8QEacO4ruvNVLOQG9RqAdIBm9neMPUrfc4Uoahy253Gx/VWtqN1kilwmAKZvu6KAX7JNGyPz32QseY8HDHRyPM5HHGZSkVm7XZ+hahEIHedEKWbbdM2fV0kbvzzbArBkTlA7B9m3022sILwwrnc0hMuy4xbRClB/BoT0EE08hEutGz0nzurGm8vdQag43FdnKykcmCS4xW+jC1XUi5ok4lZHdUwMSF1oGabriiJjXFf+vz4ESgJDBXzzKzJhaGB5pIoPydwQ15Ziv2m9OY="; $encryptedToken = "RwC47xWWNvdlwCSNBRN14jl0tW5gla/MomKp43435sr3334dmYUYmLHQRBXoratDTOi7lKlYNyLUXD6n6Q0txGNE7bL7Vc49yUAkmENmB9RiVGxcAaPJGDi37628xOXRIOtbCpq4s2Cy2ti2Gx9G7sKvU98+eN2XVs39f9jSexsa7c/FIUeedaZ0cbdzWVvj/kq6y9Fsx9lyHs/VnYaxfJtWI2LWt/VmPsx/0z1WYx9wK6jFpSX9de/tNL+hyCn6F0ygjyc1nGU/UuQT9jt+dmxns1SGNGrfMOlk/jMsQMGztWDgrPzpmJR6sjr1apjmwBAbYU+5dl6Hcc/QIjjSKSzBxYeXANAtx2/LcUl8Wtscg8Dk64TRsMs1GuJm8FYfxz974jXvh2DnRhOufieCAe5mc6ZjP61WjPMQBBjesY7lSZ1TKeLNcoAbHCL+yc3IFdYohEz3bRGLf+9UMsFOe3K8NQP7kx68dIKacnf++nU/EJ+fphzfSMaHfYksayB+fdVsM0VeRXNAGRjxuo9cqWhgX5cJ7IILGycheBtEhgZli3Ji8tj6d39FHVZXq3NeKbPnyTyUU3LPUG2zuQqyxTwCNIP4LaYwf2bk8DcAIuOCK9GUxdYP3PsNPxQfuWYIHerYvAIbkPk37uzn2RndgOiMem3TP5Unnhd+f8Qo+5Qbfaw="; $cryptogram = "69696181054119923371"; $expiryYear = "2026"; $expiryMonth = "01"; $panSuffix = "8209"; $encryptionKeyid = 20; $authMode = "3DS"; $merchantTransactionId = "merchantTransactionId"; $request = PgPayRequestBuilder::builder() ->mobileNumber("9090909090") ->callbackUrl("https://webhook.in/test") ->merchantId(MERCHANTID) ->merchantUserId("<merchantUserId>") ->amount(<amountInPaise>) ->merchantTransactionId($merchantTransactionId) ->paymentInstrument( InstrumentBuilder::getTokenInstrumentBuilder() ->authMode($authMode) ->encryptedCvv($tokenCvv) ->encryptedToken($encryptedToken) ->cryptogram($cryptogram) ->expiryYear($expiryYear) ->expiryMonth($expiryMonth) ->panSuffix($panSuffix) ->encryptionKeyId($encryptionKeyid) ->build() ) ->build(); $response = $phonePePaymentsClient->pay($request); $url = $response->getInstrumentResponse()->getRedirectInfo()->getUrl();