Onboarding Status
Lets call this "Track Onboarding Status"
Onboarding Status
Lets call this "Track Onboarding Status"
Onboarding Status
This should be "Onboarding Webhooks"
You can configure the theme colour and logo as per your platform theme to provide a seamless onboarding experience for your sub-merchants.
Can we add the same 3 color image from overview here?
Access Resources using Access Token
Can we make it point 5?
The parameter descriptions are present in the Stakeholder API Entity.
This should be documents entity. and Lets add the entity here
The parameter descriptions are present in the Product Configuration API Entity.
Same. Lets add Product entity definition here
The parameter descriptions are present in the Account API Entity.
Lets add the account entity here. Referencing to another page makes it difficult to read. If this makes the page too long, we can break the Onboarding SDK into mutiple pages
Use onboarding APIs to add KYC details of your clients. You can pre-fill all or a few KYC details using APIs and let the users fill in the remaining on the onboarding form.
Lets add a statement after this
"Here are the APIs that are available for Onboarding customers"
Generate and use Access Token
Fetch access token associated with the merchant
Upload KYC details using onboarding APIs
Create account and upload KYC details using onboarding APIs
Sample Onboarding UR
Can we make these hierarchial and add numbers? So the right nav is more cleaner?
2.1 Create Account
Can we make these headings hierarchial?
Custom Onboarding SDK enables you to onboard customers to Razorpay Payments within your platform. You can create a customer account using APIs and pre-fill KYC details, or have your client sign up and complete KYC verification.
Custom Onboarding SDK allows you to perform Razorpay signup and KYC steps through API. With this, you can collect details and documents within your UI instead of Razorpay hosted UI.
Prerequisites
Can we move pre-requisites to the end? We are introducing two types of onboarding in previous statement. Ideally it should be followed by explaining those two types..
Co-branded Onboarding UI offers customisation for Partners to configure colour, theme, logo and brand name to mimic your platform environment.
Can we add the 3 color image post this statement?
This feature is currently in beta and is enabled on demand
This is not in beta
Customise Onboarding
Can we rename this "Co-branded Onboarding Settings"
Integrate Oauth
Can we rename this section as "Standard Co-branded Onboarding"?
Razorpay APIs are generally authenticated using Basic Auth, but as a Platform, you need to authenticate using Bearer Auth with your access_token.
Lets not make this a call out. We already established this. Lets add a regular text that says we need to use auth token created in so and so step for accessing this API
You can set up transfer of funds
You can pass platform and third party fees as a transfer while creating an order using Orders API
Transfers during order creation can only be set up using APIs.
Lets remove this. Not relevant for Partners.
switch to Platform.
We need to fix this redirection to new page as well
token
Lets remove the placeholder for the image below
How it Work
Can we adjust the size of this image? Right now it is too big to view in one screen
Onboard Businesses
Lets have 3 sub-pages under this
Customise Onboarding Flow
Can we move this into a new page?
.
The image below is not ready from design. For now lets go ahead without it
below
Image to be added here
PLACEHOLDER FOR authorization window
Delete this
Razorpay Payments set-up
“Connect with Razorpay” CTA embedded
demo
video above
Try our onboarding demo! PLACEHOLDER FOR DEMO LINK
lets remove this. We don't have demo yet. We gave GIF
Lets add the GIF here
Watch Out!Co-branded Onboarding is currently limited to Aggregators Partners. This will soon be extended to Pure Platform Partners.
Lets remove this
Examples
Example
Razorpay For Platforms and Marketplaces
On the left navigation in the title, can we remove (new)?
To create a Partner account, contact your sales point of contact or submit a request form. Our team will further help you with onboarding.
Sign-up as Razorpay Partner using steps here. Contact your sales POC to enable Platform Partnerships for your account
co-branded
"Co-branded Onboarding UI" Lets make it bold
Etsy, for example, enables artists to sell their artwork online. From the amount received from customers, Etsy charges their fee, routes the delivery fees to the logistics partner, and sends the remaining to the artists.
Lets break this into next para
Shopify, for example, allows sellers to set up online stores. Shopify enables sellers to accept payments from their customers using Razorpay. Shopify can charge a fixed monthly fee or a percentage fee on transactions through its platform.
Can we put this into next paragraph? This is one long para right now
Use Razorpay for Platforms and Marketplaces to offer end-to-end payment solutions to businesses on your platform. Onboard businesses, process payments and control the flow of funds.
Razorpay for Platforms and Marketplaces allows you to onboard businesses, process payments and control flow of funds all within your platform.
As a Razorpay Platform or Marketplace, offer complete payment solutions to your customers.
Offer end to end payments solution to businesses on your platform
Provide Dashboard Access
Get Dashboard Access
Know how Linked Accounts can view and download reports.
Can we add the steps similar to you we did for platform section?
Download Linked Account Reports
Download Platform Fee Reports
Linked Account Reports
Can we call this Platform Fee reports?
Seller
Can we add this section as is in here? https://razorpay.com/docs/payments/dashboard/reports
Reports and Reconciliation
This overview page is not needed. We can directly have three sections
Third-party service providers can download reports from their Linked Account Dashboards. To download reports, you (the Platform) must provide Dashboard access to the Linked Account. Know how Linked Accounts can view and download reports.
I updated content for this section in doc. Please check
As a Platform, you can download the following reports through the Partner SFTP or S3. PLACEHOLDER FOR CONTENT Watch the below video to know how to download reports. PLACEHOLDER FOR VIDEO
Lets remove this content
Lets add the content from here - https://razorpay.com/docs/payments/route/view-reports
Sellers or Sub-merchants can download the following reports from their merchant Dashboard
Lets move this table under "Related Reports"
Seller
Can we add the content from here? https://razorpay.com/docs/payments/dashboard/reports#download-reports
Just the download reports section, not list of reports
Third-party Service Providers
Third-Party
Caps
seller, or third-party service provider
Seller, or Third-Party Service Provider
Caps
Platform
Can we break these into separate pages?
Invoices and Accounting PLACEHOLDER FOR CONTENT
Lets remove this section for now. We will add it after legal signoff
Setting up Platform and Third Party Accounts
These are supposed to be separate pages. Lets use same navigation as in doc
Collect Platform fees from your customers and route them to your third-parties.
Collect platform fee and third party charges from customers
curl-X POST
I updated the req doc with code snippets. Please check and update here
Once the token is generated, use the below API to create an Order and process payments.
Using the access token generated, you can view create payments, refunds, payment links or other entities on behalf of your sub-merchants.
Use our API reference guide <here> to see full list of all APIs available from Razorpay.
Here is a sample API request using OAuth Access Token
tokens
access tokens
BEARER TOKEN
YOUR ACCESS TOKEN
The webhook responses
The webhook end-point must return a status code
Merchant Onboarding Status
Can we call this "Onboarding status webhooks"?
Merchant Onboarding UI
This entire section don't have any images or GIFs. Can we have a GIF for a sample phantom page with partner theme?
Configure the merchant onboarding theme as per your platform branding.
Configure the merchant onboarding theme as per your platform branding in your partner dashboard
pre-built UI components
I don't think this is relevant now. We should rather call it co-branded onboarding?
Ui
Can this be UI? Both capital
Navigate to Partners → Settings → Configuration.
Can we add a screenshot?
in the first week of the next month
they will receive the payout in next 7 days. not next month
bulk. Then
I think there should be a comma here
Share Referral Link pop-up
Lets hide few characters of this referral link
shown
Cn we hide the MID in all screenshots?
you
Lets replace You with "businesses"
Revoke Access
This is a merchant facing feature, not partner facing feature. Can we make it more explicit?
Test Webhooks
This is not needed as a separate section. Just a tip that you can use test mode for testing webhooks is enough
Set Up Webhooks
Can we have screenshots for this section?
Set Up Webhooks
This is not required in go live checklist. This is an optional feature
Token Expiry
I don't think this section is correct at the moment. Tokens do not have expiry as of now
Authorisation Response
Can we do this with a request and response code block that we user everywhere? A separate section is not needed for both. A simple code block with a section explaining all params is good enough
Client Attributes
Same comment as before. Lets give these details in individual steps
Particulars
Can we directly jump into the steps and explain these under individual step? User will not know these terms yet unless they see the flow.
1. Create Application
Can we have the end to end integration in one page? This is a simple integration. I feel we should try and cut down the content to make it simple. To fit in one page..
The application redirects to the Razorpay authorisation URL. This URL requests the merchant's approval for granting access to the requested resource on Razorpay.
Let's add another point before this where a user have to login if not logged already.
Once logged in they will be presented a Authorisation screen
Lets add a screenshot of authorise screen here
application service
Application
Front-end interface to connect with Razorpay. This could be a button on your UI that points to the Razorpay OAuth page.
"A front end interface for your app with a button to redirect the user to Razorpay OAuth page"
You should have the following ready:
Top most pre-requisite, they need to have a platform partner account with Razorpay.
They can get the platform partner account created by reaching out to support
The process entails several requests and responses generated as a part of the OAuth model
Is this needed?
Example
Can we have a user flow diagram or a video that explains this rather than a paragraph? Basically the end the end flow for OAuth.. Or if we are doing it later, then lets make this example more structured with bullets maybe
Acme Corp
Can we break this into more bullets. This is a very large paragraph
benefit
2nd point is not applicable now that makes the 3rd point vanity. Do we still need this advantages section?
The token is short-lived, with an expiry time of generally 15-20 days, which lowers the chance of misuse.
As of today, the token don't have any expiry. We are planning to add but not available now.
system
account
Banking
Can you make this bold?
Payments
Can you make this Bold?
Know more about on how to setup webhooks.
This reference is wrong. Not relevant to Integromat
to visualise and design your work in minutes.
to automate your workflows
Order Of Events🔗
How is this different from this? https://razorpay.com/docs/webhooks/validate-test/#order-of-webhooks
Handle Duplicate Events
How is this different from this?
https://razorpay.com/docs/webhooks/validate-test/#idempotency
Disable Logic
How is this different from this content? https://razorpay.com/docs/webhooks/setup-edit-payments/#deactivation
Best Practices
This should be in the Level 1 Navigation. Just like Set Up and Edit Webhooks.
Priority
What does priority mean?
Rules and Limits🔗
We should first define what is a rule and limit.
Throttling🔗
The structure of the content doesn't look correct. Throttling Techniques, Rules and limits and Dashboard actions should be subsections under Throttling. If required we can make a separate section under platform called "Edge - Throttling"
Examples:
These doesn't look like examples but more of an explanation. Can we some sample rules and explain if we want to have examples?
Throttling Techniques
Can we make this H2 under Throttling?
The above order may not be followed at all times
This should be more prominent
Order of Webhooks
The actual point of this section is that webhooks will not be delivered in the same order as they occur. We should highlight that.
Currently, that is not prominent here.
Idempotency means calling a method multiple times without changing the result. The idempotent methods are required for Webhooks because a resource may be called multiple times if the network is interrupted. In this scenario, non-idempotent operations can cause significant unintended side-effects by creating additional resources or changing them unexpectedly. For businesses that rely on data, non-idempotency poses a considerable risk.
I don't think we need this paragraph.
We can start with -
There could be scenarios where your endpoint might receive same webhook event multiple times. This is expected as per design and can be handled easily using x-razorpay-event-id header
Check the value of x-razorpay-event-id in the webhook request header. The value for this header is unique per event You can cross reference on your end to identify if an event with same header is processed on your end already to avoid duplicates.
But why do Razorpay sends same event multiple times? To avoid an event being missed, Razorpay follows at-least-once delivery semantics. In this approach, if we do not receive a successful response from your server, we resend the Webhook.
There could be situations where your server accepts the event but fails to return a response in 5 seconds. In such cases, the session is marked timeout. It is assumed that the Webhook has not been processed and is sent again. Ensure your server is configured to handle or receive the same event details multiple times using the solution as mentioned above.
language SDKs
Lets add a reference to our Language SDKs here
Hash Signature
Do we need this subheading?
Validate Webhook
Did we remove the note that says, signature generation should always use raw payload? https://razorpay.com/docs/webhooks/#validation
Handy Tips
Lets call this "Next Steps"??
In the Alert Email field, enter the email address to which the notifications should be sent in case of webhook failure
In next line -
You will receive webhook deactivation notifications to this address. Refer <webhook deactivation> for more details.
Razorpay will send you an email notification when a webhook gets disabled due to multiple failures.
When a webhook gets disabled, Razorpay will send you an email notification on "alert email" as configured during set-up.
Click + Add New Webhook.
Lets say Click "+Add New Webhook" for better readability.
Enter a Secret for the webhook endpoint. The secret is used to validate that the webhook is from Razorpay. Do not expose the secret publicly.
Can we give a reference to Validate webhooks here? May a one liner that says, if you configured a secret, here is how you can validate the signature on your end. <link>
There
Lets break this into two paragraphs. This looks like a very long paragraph
editing the webhook
Lets give a reference to edit webhooks section
Secret mismatch
can we make these bold? Or some distinction, may be italic or underscore
webhooks
Should be capital Letter
Why am I receiving the same event multiple times?
Can we make the questions bold?
APIs send you the data when you request for it. Webhooks send you the data when it is available.
APIs send you the data when you request for it. For Webhooks, you don't need to make a request. You receive the data when it is available.
Watch Out!
This is common for both Razorpay payments/RazorpayX. Also the secret definition. Can we either add it both places or keep it outside individual sections?
Handy Tip
These two tips should be moved after all code snippets.
Webhooks
Edit webhooks can be added after this as 6th point.
Webhook Secret
We should remove this and move the definition of secret here. The hyperlink is not taking to exact section.
Razorpay Dashboard
Razorpay payments dashboard
Webhook URL
This is a generic definition. Should be outside payments suite.
Also, 'Payments suite' is a not commonly used term afaik. May be we should call it payments dashboard?
notifications
I think this is only true for PG dashboard, X dashboard doesn't allow multuple webhooks at the moment
Razorpay
Lets call it 'Razorpay payments'
video
Do we call these videos? I think we use someother word for Gifs. Infographic?
Frequently Asked Questions (FAQs)
I think these should not be under FAQ. These are generic definitions. FAQs should cover more Razorpay specific questions
Webhooks
We should have a frequently asked questions section at the end after sample payload.
You
Can we name it "When to use webhooks?"
We can keep use cases under this, but both Idempotency and Secret should be moved to Set-up and validate webhooks.
Webhooks
This section can be cut down to a 2-3 sentences with an line example.
"APIs send you the data when you request for it. For Webhooks, you don't need to make a request. You receive the data when it is available"
Ex: Imagine, you need to know if of a payment link is paid. With API, you will have keep polling every few seconds until someone pays. With Webhooks, you will receive the update when payment happens.
Secret for Webhooks
Too early to introduce this. This should be part of Webhook set-up.
Payload
This definition comes out of no where here. I think we should either skip it or add it to a separate glossary of keywords.
You
This can be combined with Set-up.
The flow for set-up and edit comes together functionality wise. Separate guide may not be necessary.
Right after set-up add a paragraph with screenshot that users can edit the webhooks whenever they want using 'edit option' '
Against an application running on localhost.
These two as well. Lets make it "Testing against an application running on localhost" or something else which makes the heading complete..
Payloads using request interceptor tools.
Lets just call it "using request interceptor tools". The sentence looks broken.
test webhooks
I think some issue with hyperlink. Assuming this will be fixed in prod
Note
Let's move this to Use Cases section. After 'Notifications on Failed payments' and before Idempotency
Razorpay delivers webhook notifications as soon as possible. In most cases, notifications will arrive within 10 seconds of the associated event. While we try to send them in a timely manner, we do not recommend relying on webhooks for events that are time-sensitive. For business-critical, synchronous use cases, please poll our APIs for the data.
In most cases, webhook events will be delivered within few seconds of the associated event. However, in some cases this can be delayed by few minutes due to various reasons.
While we try to send them in a timely manner, we do not recommend relying on webhooks for events that are time-sensitive. For business-critical, synchronous use cases, please poll our APIs for the data.
Header Value host en1kh32w54d59.x.pipedream.net Accept-Encoding gzip Content-Type application/json Request-Id FKkBreMa8jb9xh User-Agent Razorpay-Webhook/v1 X-Razorpay-Event-Id FKkBreMa8jb9xh X-Razorpay-Signature 427eb1cad49e9c0e3a69d156de61d5df041cbe6ef8ec80c8deaeaee9d5c07748 Content-Length 760 Connection keep-alive
On second thought, I think we can remove this table. The paragraph before this table is pretty self-explanatory and clear.
you can skip this step
needs to be changed to 'this step will be skipped' - since this is not in user control. We skip it automatically.
.
Lets add 'You can get sample payload for all events <here>' with reference to sample payload
.
Lets add 'Learn more about Webhook secrets <here>' with reference to signature validation section
Website
Let's just call it URL. It was wrong in old docs as well.