- Bank Mandates- Account number entered by user to setup mandate is the only bank account allowed by the bank to be used to setup mandate
Authenticate Subscription form post
- UPI- Supported across UPI push, collect and Intent flows. Subscription would only be allowed to be actviated using the bank account shared by the merchant
Subscription- Integration Steps
1. As part of Initiate Subscription request please add the following parameters:
Name |
Description |
Required |
Schema |
requestType |
This parameter is used to identify the transaction flow
Possible Values: NATIVE_MF_SIP |
Yes |
string |
aggMid |
Parent Merchant unique Identifier, Unique Id for merchants provided by Paytm |
No |
string |
validateAccountNumber |
The flag to tell whether to match user's registered account number to the one which is being used for the payment
Condition: Use only for UPI
Possible Values: true, false |
Conditional |
string |
allowUnverifiedAccount |
This flag tells to proceed for the transaction even if account number mismatched
Condition: Use only for UPI
Possible Values: true, false |
Conditional |
string |
accountNumber |
User account number to validate
Condition: Use only for UPI |
Conditional |
string |
subscriptionPaymentMode |
The payment mode which user has selected to complete creation and renewal of subscription
Possible Values: BANK_MANDATE, UPI |
No |
string |
mandateAccountDetails |
Mandate Account Detail - For Stardard Checkout (Redirection Flow) |
No |
object |
MandateAccountDetails
Name |
Description |
Required |
Schema |
accountHolderName |
Account Holder Name
Example: Lalit Chaudhary |
No |
string |
channelCode |
Account Holder's Bank Code
Examples: SBI, HDFC, ICICI etc. |
No |
string |
accountNumber |
Account Number
Example: 62980XXXX220 |
No |
string |
ifsc |
Bank IFSC
Example: ICIC00XX298 |
No |
string |
accountType |
Account Type
Pssible values: ISA, CA, OTHERS |
No |
string |
|
Request
curl -X POST 'https://securestage.paytmpayments.com/subscription/create?mid=INTEGR7769XXXXXX9383&orderId=ORDERID_98765' \
--header 'Content-Type: application/json' \
--data '{"body":{"requestType":"NATIVE_MF_SIP","mid":"INTEGR7769XXXXXX9383","websiteName":"WEBSTAGING","orderId":"ORDERID_98765","subscriptionAmountType":"VARIABLE","subscriptionMaxAmount":"2","subscriptionFrequency":"1","subscriptionFrequencyUnit":"DAY","subscriptionStartDate":"2020-08-21","subscriptionExpiryDate":"2023-10-21","subscriptionEnableRetry":"1","subscriptionGraceDays":"0","validateAccountNumber":"true","allowUnverifiedAccount":"false","accountNumber":"6298XXXX4220","txnAmount":{"value":"1","currency":"INR"},"userInfo":{"custId":"CUST001"},"callbackUrl":"https://merchant.com/callback"},"head":{"signature":"{signature}"}}'
Response
{
"head": {
"responseTimestamp": "1597987037048",
"version": "v1",
"signature": "q4YgRZwh20L76JYLGPwZIhhqeORenN6NrOpwQP0dOgUMunTQkzIungdWtHYKkJEglqBduXbtBCmyWPk9MUIYadM/b5YubojZbdT/QnOKmhU="
},
"body": {
"resultInfo": {
"resultStatus": "S",
"resultCode": "0000",
"resultMsg": "Success"
},
"txnToken": "7a6cda2abf82439ba5416e10763551d51597923386883",
"subscriptionId": "64665",
"isPromoCodeValid": false,
"authenticated": false
}
}
2. Optional: Now as part of Fetch Payment options API only UPI and List of Bank Mandate supported would be available for the customers to pay.
3. In case of Custom checkout flow, call the Process Transaction API, after the user has selected the payment option.
4. In case at the time of payment account validation does not happen the following error code and response would be returned as part of Process Transaction API, Transaction Status API, Payment Status Webhook
Response Attributes
ATTRIBUTE |
DESCRIPTION |
EXAMPLE |
ORDERID |
Unique reference ID for a transaction which is generated by merchant and sent in the request |
ORDERID_98765 |
MID |
This is a unique identifier provided to every merchant by Paytm |
INTEGR7769XXXXXX9383 |
TXNID |
This is a unique Paytm transaction ID that is issued by Paytm for each transaction |
20200XXXXXXXX800110168357341774707 |
TXNAMOUNT |
Amount paid by customer in INR |
1 |
PAYMENTMODE |
The payment mode used by customer for transaction |
UPI |
CURRENCY |
Currency in which the transaction has taken place. Currently only "INR" is the supported currency of transaction |
INR |
TXNDATE |
Date and Time of transaction in the format "yyyy-MM-dd HH:mm:ss.S"Example: "2015-11- 02 11:40:46.0" |
2020-08-20 19:11:31 |
STATUS |
This contains the transaction status |
TXN_SUCCESS |
RESPCODE |
Codes refer to a particular reason of payment failure/success |
01 |
RESPMSG |
Description message is linked with each respcode. |
Txn Success |
GATEWAYNAME |
Gateway used by Paytm to process the transactions. |
PPBLC |
BANKTXNID |
The transaction ID sent by the bank. In case of Paytm proprietary instruments too, there is a unique reference number generated by Paytm's system. In case the transaction does not reach the bank, this will be NULL or empty string. Primary reason for this is user dropping out of the payment flow before the transaction reaches to bank to servers |
23309276638 |
ACCNUMVERSUCCESS |
Indicates whether the account successfully validates or not.
Note: This parameter will come only in case of UPI paymode.
|
TRUE |
CHECKSUMHASH |
Security parameter to avoid tampering. Verified using server side checksum utility provided by Paytm. |
2Lvtj3jpbT2jC+iKS/AVPH84/T73siq7mwifcU6jwTptpZAo8mNaQCvFdb4u7crSoIF+RUwc/KOCw0cJPNOV8hbO
|