- Jul 2022
-
betasite.razorpay.com betasite.razorpay.comInvoices3
-
Entityđź”—
The Invoices entity has the following fields:
-
now
remove
-
Razorpay Invoices enables
You can use Razorpay Invoices to send.... hyperlink Invoices
-
-
betasite.razorpay.com betasite.razorpay.comQR Codes8
-
:
remove colon
-
Watch Out
missing exclamation mark
-
You can share the short URL with customers to accept payments. You can print and download it. You can create QR Codes for single or multiple use and for specific or all customers.
simple bullets not Handy Tips
-
:
no colon
-
QR Code Entityđź”—
The sample code should come after the entity table. Check Customers/Refunds/Orders API docs
-
Retrieve details about QR Codes using the unique identifier linked to the Customer ID or a Payment ID.
Retrieve QR Code for a Customer ID or Payment ID.
-
refer to the:
see
-
Razorpay QR Codes enables you t
You can use Razorpay QR Codes to create...
-
-
betasite.razorpay.com betasite.razorpay.com
-
Use the below endpoint to delete a token
The following endpoint deletes a token.
-
Use the below endpoint to fetch all tokens linked to a customer.
Rephrase and move to the next para at the end
-
Use the below endpoint to fetch the token_id using a payment_id.
Use the standard style
-
about
more
-
-
betasite.razorpay.com betasite.razorpay.com
-
Once our system validates and successfully processes the payment request, a razorpay_payment_id is returned. In the case of some banks such as HDFC Bank and Axis Bank, the payment entity returned will be in the created state since the charge system of these banks are file-based and can take a few hours.
bullet this make these crisper
-
Use the below endpoint to create a payment and charge the customer.
The following endpoint creates a payment and charges the customer. Move to the previous para
-
Use the below endpoint to create an order:
The following endpoint creates an order. Move this to the previous para
-
-
betasite.razorpay.com betasite.razorpay.com
-
Use the below endpoint to cancel a registration link.
The following endpoint cancels a registration link.
-
Use the following endpoint to send/resend notifications with the short URL to the customer:
The following endpoint sends/resends notifications with a short URL to the customer.
-
on Linkđź”—
Split the below code into 3
-
Use the following endpoint to create a registration link.
The following endpoint creates a registration link.
-
API Dashboard
API or Dashboard.
-
the following ways: Razorpay APIs. Registration Link.
You can create an authorisation transaction using Razorpay APIs and Registration Link.
-
andler Function Callback URL When you use the handler function, the response object of the successful payment (razorpay_payment_id, razorpay_order_id and razorpay_signature) is submitted to the Checkout Form. You need to collect these and send them to your server. When you use a Callback URL, the response object of the successful payment (razorpay_payment_id, razorpay_order_id and razorpay_signature) is submitted to the Callback URL.
Move this above the code
-
thorization Paymentđź”—
Add a brief for this.
-
The following endpoint creates an order.
Move this to the previous para
Split the below code into 3 set of code samples
-
Authorization transaction + auto-charge first payment You can register a customer's mandate AND charge them the first recurring payment as part of the same transaction. Know more abo
This Handy Tips should not be placed here. Breaking the flow
-
1.1. Using Razorpay APIsđź”—
Use H1
-
The following endpoint creates a customer.
Move this to the previous paragraph
-
-
betasite.razorpay.com betasite.razorpay.comErrors4
-
Let us look at the sample given below. Looking at the source, step and reason provided in the error description, it is apparent that the payment failed at the authentication step as the customer entered an incorrect OTP. An elegant way to handle this error would
In this sample code, see the description, source, step and reason, indicating that the API failed due to authentication failure for incorrect OTP.
-
All successful responses are returned with HTTP Status code 200. In case of failure, Razorpay API returns a JSON error response with the parameters that detail the reason for the failure.
When an API is fired, Success: All successful responses are returned with HTTP Status code 200. Failure: Razorpay API returns a JSON error response with the parameters that detail the reason for the failure.
-
Error Structuređź”—
Make this H1
-
Razorpay aims to make every transaction successful for its customers. However, in the financial ecosystem errors might still occur because of intermittent communication and technical issues at multiple hops. Hence, it becomes critical for businesses to identify the source of the error, the payment step where the error occurred and the reason that caused the error. In short, you can identify the who, where and why of every payment error. This enables you to minimize or fix errors to reduce any losses. With the new error codes, Razorpay helps you build your own logic and take remedial action at your end, wherever possible. Deriving these insights can help your business to: Map and analyse top failure reasons. Identify the source of failure. Narrow down and understand if cause of the failure. Can be due to customer action or external factors (Razorpay, Gateway, Bank or Network) Identify the payment step and the exact failure reason. Display valid responses and provide meaningful next steps to your customers.
Razorpay APIs if fail to execute, return a JSON error response with the parameters that help to understand the reason for failure.
- Map and analyse top failure reasons.
- Identify the source of failure. It can be due to customer action or external factors (Razorpay, Gateway, Bank or Network)
- Identify the payment step and the exact failure reason. Display valid responses and provide meaningful next steps to your customers.
-
-
betasite.razorpay.com betasite.razorpay.com
-
le.
Add the webhooks section Refer to this: https://razorpay.com/docs/api/refunds#webhooks
-
Add-on Entityđź”—
Add one liner for the entity Maintin the same style as for the other API codes
-
Know more about Add-ons
remove
-
add-ons
hyperlink
-
:
remove colon
-
Handler Function vs Callback URL:
Instead of Handy Tips, add this as a plain table bold the difference
-
L:
remove this
-
:
remove colon
-
:
remove colon
-
:
remove colon
-
Know more about Offers
remove this
-
Offer
link offer
-
For example, a Subscription is to be charged on the 1st of every month. It was charged on January 01, 2021. On January 15, 2021, it was updated using the end of cycle option for the schedule_change_at parameter. In this case, the update goes live after the Subscription is charged on February 01, 2021. Such updates are said to be scheduled updates and can be cancelled using this API.
Same comment as above
-
For example, a Subscription is to be charged on the 1st of every month. It was charged on January 01, 2021. On January 15, 2021, it was updated using the end of cycle option for the schedule_change_at parameter. In this case, the update goes live after the Subscription is charged on February 01, 2021. Such updates are said to be scheduled updates and details of such updates can be fetched using this API.
Call out the Example under a sub heading
-
immediately
remove
-
:
remove colon
-
The Subscription can either be cancelled immediately or at the end of the current billing cycle. Once cancelled, the Subscription cannot be renewed or reactivated.
bullet these Try to make it less wordy
-
ns
The code sample should come after the endpoint info Check for all places Endpoint > Sample code > Request Parameter table
-
C
Add above this You can perform various actions related to Subscriptions using the Razorpay Dashboard (hyperlink it).
-
These operations can also be performed using the Razorpay Dashboard.
remove from here
-
Subscriptions allow you
You can use Subscriptions to charge a customer periodically.
-
ns Entityđź”—
Add the one line above the code sample
-
The following endpoint lets you create a plan. /plans
This should come above the code sample.
-
The plan entity has the following attributes:
remove The table should come before the code sample
-
Plan Entity
Add the one liner here The Plan entity has the following fields:
-
plan
Plan
-
You can create, fetch, query or cancel plans, Subscriptions and add-ons using Subscriptions APIs.
Add this along with the previous para
-
Razorpay Subscriptions lets you set up and manage recurring payments.
You can use Razorpay Subscriptions to set up and manage recurring payments.
-
-
betasite.razorpay.com betasite.razorpay.comItems2
-
Razorpay Dashboard
Should link here: https://razorpay.com/docs/payments/invoices/items
-
Once an item is created, it will appear
After an item is created, it appears on the list of...
-
-
betasite.razorpay.com betasite.razorpay.com
-
against
for
-
View
the
-
once
after
-
payment will remain in the Authorised state and not be included in the settlement.
payment remains in the Authorise state and is not included in the settlement.
-
Upload In
Blank left nav?
-
-
betasite.razorpay.com betasite.razorpay.com
-
Accept
Should this not be part of the main left nav?
-
besides
in addition to
-
on a case-to-case basis.
for more details.
-
will charge
charges
-
ansfer
Same feedback as the other article
-
-
betasite.razorpay.com betasite.razorpay.com
-
FAQsđź”—
Look through all the questions and answers and try to simplify them. Most of them are too wordy.
-
customer
customers
-
Yes, you can offer services to your international customers from the US, UK, Europe and Canada by providing them with a local currency bank account, and they can pay in their respective currency. In the initial phase, USD ACH is available to you, whereas, in the later phases, other currency support, including SWIFT, will be available.
Simplify
-
We have customers spread across the US, UK and Europe. We want to offer our customers a cheaper, reliable, and better payment experience. Can we collect payments in USD, GBP or EUR currency?đź”—
Simplify the question We means Razorpay , You means Business Keep this in mind while framing questions/answers
-
account.
We should create a video to explain the end user experience. Do this as the next iteration
-
Upload Invoicesđź”— You must provide invoices for all the payment transactions accepted via local currency account as mandated by our Banking partners and RBI. Razorpay allows you to upload invoices and share them for all the payments collected via the Razorpay Dashboard.
Add this as Handy Tips
Mandatory Step: Invoices
You must provide invoices for all the payment transactions accepted via local currency account as mandated by our Banking partners and RBI. Razorpay allows you to upload invoices and share them for all the payments collected via the Razorpay Dashboard.
-
on the Razorpay Dashboard
remove
-
Given below are the steps
remove
-
r is given as belo
We should do a diagram for this. Create a PR for the next iteration if we do not have time now.
-
List of frequently asked questions:
remove
-
his
the
-
will get
gets
-
will be
becomes
-
activate an international Payment Link on your account through Razorpay Dashboard.
Do we have any article that indicates how to do this? If yes, link it
-
payment link
Payment Link
-
payment link or a payment page
Payment Link or Payment Page
-
How it Worksđź”—
This should come after prerequisites
-
ou
You
-
In the initial phase, USD ACH is available to you, whereas, in the later phases, other currency support, including SWIFT, will be available.
You can use USD ACH and more options like SWIFT will be available soon.
-
Ac
Extra blank line - remove
-
We achieve higher
Better
-
Current Challenges
Combine this as part of Advantages. Segregate as Advantages for Customers and Businesses
-
This is an on-demand feature. Please raise a request on your Razorpay Dashboard (My Account -> Payment Methods). Alternatively, you may connect with our Support team to get this feature activated on your Razorpay account.
Make this a single point. No need to bullet it.
-
Using the Local Currency Bank Transfer payment method, Indian businesses can open foreign currency accounts and accept payments from international buyers across the US and other countries without additional paperwork. This significantly improves the customer experience by allowing the international buyers to make local bank account transfer to Indian businesses. The final settlement is done in the bank accounts of Indian businesses in INR.
Use the Local Currency Bank Transfer method to accept payments from buyers outside India without additional paperwork. The final settlement is done in the bank accounts of Indian businesses in INR. This significantly improves the customer experience by allowing the international buyers to make local bank account transfer to Indian businesses.
-
-
betasite.razorpay.com betasite.razorpay.comPayments10
-
:
full stop
-
Use the following endpoint to retrieve th
The following endpoint retrieves the...
-
the following endpoint to retrieve
The following endpoint retrieves..
-
You can fetch the expanded EMI details for payments using the expand[] query parameter with the Fetch Multiple Payments API.
remove
-
You can fetch the expanded card details for payments using the expand[] query parameter with the Fetch Multiple Payments API.
remove. This is confusing
-
Using this parameter will cause a sub-entity to be added to the response.
rephrase this sentence
-
:
full stop
-
expand[]=card Used to expand the card details when the payment method is emi. expand[]=emi Used to expand the EMI plan details when the payment method is em
split up the table and also the code samples
-
:
full stop
-
After the customer's bank authorises the payment, you must verify if the authorised amount deducted from the customer's account is the same as the amount paid by the customer on your website or app. You can configure automatic capture of payments on the Razorpay Dashboard. Use the above endpoint to change the payment status from authorized to captured.
bullet these. For the last point use the code format for the statuses.
-
-
betasite.razorpay.com betasite.razorpay.com
-
Allowed values are:
Possible values:
-
- Jun 2022
-
betasite.razorpay.com betasite.razorpay.com
-
You can close a smart collect account using the Close a Virtual Account API. Use the following endpoint for the same.
The following endpoint closes a virtual account.
-
Code for Bank Accountđź”—
Sample Code for Bank Account
-
Code for vpađź”—
Sample Code for VPA
-
You can
The following endpoint adds a receiver to an existing virtual account. Move the endpoint code above the Watch Out
-
You can
The following endpoint..
-
Use the following endpoint for the same.
remove
-
Parametersđź”—
Mandatory/Optional info is missing
-
Bank Transferđź”—
Add a one-liner about the endpoint for all these
-
The response parameters are the same as those mentioned in Fetch a Payment API.
Put this under a separate heading
-
countsđź”—
Response Parameters are missing for all
-
Entityđź”—
Add a one-lined like this The Smart Collect entity has the following fields:
Below the table add the information about how various actions can be performed using Dashboard Refer to Refunds API
-
etersđź”—
Response Parameters section is missing
-
You can retrieve payment details for a single virtual account using the Fetch Payments for a Virtual Account API. Use the following endpoint for the same.
The following endpoint retrieve payment details for a single virtual account by id.
-
You can retrieve details for all virtual accounts using the Fetch all Virtual Accounts API. Use the following endpoint for the same.
The following endpoint retrieves details for all virtual accounts.
-
Use the following endpoint for the same.
remove
-
You can create a smart collect account
The following entity creates a Smart Collect account to accept large payments from your customers in the form of bank transfers via NEFT, RTGS and IMPS.
-
You can
The following endpoint retrieves details for a single virtual account by ID.
-
given on the right
remove
-
Refer to the Customer API documentation to learn how to create a customer.
Create a customer using the Customer API.
-
Use the following endpoint for the same.
remove
-
receivers
should go to the next row formatting error
-
With Smart Collect, you can:
remove
-
then
remove
-
Going forward, vpa and bank_account will be the only receiver types that will be supported.
vpa and bank_account are the only supported receiver types.
-
virtual accounts
Hyperlink to product page
-
-
betasite.razorpay.com betasite.razorpay.com
-
alidate that it is
NodeJS Codes are missing
-
nse Parametersđź”—
Add PL Webhooks, check Refunds API
-
ntityđź”—
Add a line below the table about how the various actions can be performed using the dashboard Check refunds API for example
-
pay servers.
Codes available in 4 languages. Check with @sofiya for other languages
-
Note
Handy Tips
-
allows you to cancel
cancels
-
Note
Handy Tips
-
arametersđź”—
indicate optional/mandatory
-
by any other means as well,
This URL can be shared with the customer via SMS, WhatsApp or any other means for payments.
-
The razorpay_payment_link_id​ attribute should have been stored in your system against an order, right after it was returned in the create Payment Link response. This is displayed as just id (for example, "id": "plink_FKeEiabyAAiSVQ") in the response. The razorpay_signature should be validated by your server. In order to verify the signature, you need to create a signature using razorpay_payment_link_id, razorpay_payment_link_reference_id, razorpay_payment_link_status and razorpay_payment_id​ as payload and your key_secret​ (your API secret) as secret. Java Python Ruby Go PHPCopyRazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]"); String secret = "EnLs21M47BllR3X8PSFtjtbd"; JSONObject options = new JSONObject(); options.put("payment_link_reference_id", "TSsd1989"); options.put("razorpay_payment_id", "pay_IH3d0ara9bSsjQ"); options.put("payment_link_status", "paid"); options.put("payment_link_id", "plink_IH3cNucfVEgV68"); options.put("razorpay_signature", "07ae18789e35093e51d0a491eb9922646f3f82773547e5b0f67ee3f2d3bf7d5b"); boolean status = Utils.verifyPaymentLink(options, secret); Copyimport razorpay client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET")) client.utility.verify_payment_link_signature({ 'payment_link_id': payment_link_id, 'payment_link_reference_id': payment_link_reference_id, 'payment_link_status':payment_link_status, 'razorpay_payment_id': razorpay_payment_id, 'razorpay_signature': razorpay_signature }) Copyrequire "razorpay" Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET') payment_response = { payment_link_id: 'plink_IH3cNucfVEgV68', payment_link_reference_id: 'TSsd1989', payment_link_status: 'paid', razorpay_payment_id: 'pay_IH3d0ara9bSsjQ', razorpay_signature: '07ae18789e35093e51d0a491eb9922646f3f82773547e5b0f67ee3f2d3bf7d5b' } Razorpay::Utility.verify_payment_link_signature(payment_response) Copyimport ( razorpay "github.com/razorpay/razorpay-go" ) client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET") params := map[string]interface{} { "payment_link_id": "plink_IH3cNucfVEgV68", "razorpay_payment_id": "pay_IH3d0ara9bSsjQ", "payment_link_reference_id": "TSsd1989", "payment_link_status": "paid", } signature := "07ae18789e35093e51d0a491eb9922646f3f82773547e5b0f67ee3f2d3bf7d5b"; secret := "EnLs21M47BllR3X8PSFtjtbd"; utils.VerifyPaymentLinkSignature(params, signature, secret) Copy$api = new Api($key_id, $secret); $api->utility->verifyPaymentSignature(array('razorpay_payment_link_id' => $razorpayPaymentlinkId, 'razorpay_payment_id' => $razorpayPaymentId, 'razorpay_payment_link_reference_id' => $razorpayPaymentLinkReferenceId, 'razorpay_payment_link_status' => $razorpayPaymentLinkStatus, 'razorpay_signature' => $razorpayPaymentLinkSignature)); After validating the signature, you should fetch the order in your system corresponding to the razorpay_payment_link_id​ and mark this order as successful.
Try to make this less wordy and bullet these
-
Verify Signatuređź”—
Heading 2
-
appear appended
are added
-
Using callback_url Parameterđź”—
Heading 2
-
:
remove
-
Sample Codes for UPI Payment Linksđź”—
Use Heading 2
-
Sample Codes for Standard Payment Linksđź”—
Use heading 2
-
:
remove colon
-
Refer to the list of supported currencies. Refer to the list of supported currencies.
duplicate Refer to the list of supported currencies.
-
Following table lists the attributes and their explanations, which are sent in the request body:
remove
-
Use these sample codes for UPI Payment Links.
remove
-
Use these sample codes for Standard Payment Links.
remove
-
Basic Payment Links
Basic should come first and then the customised one
-
normal
regular
-
as per your business preferences.
remove
-
You have the option to create basic or customized Payment Links:
remove
-
/payment_links
move this below the first two sentences
-
Use the below endpoint to create a basic Payment Link.
remove
-
, non-customized
remove, redundant
-
t methods.
Should we briefly talks about Standard Payment Links and UPI Payment Links? See example of Normal Refunds and Instant Refunds https://razorpay.com/docs/api/refunds
-
Note
Handy Tips
-
-
use colon in all such instances
-
accept_partial optional
we have marked this optional. Does that mean others are mandatory? If so, we should mention that. @Vinita- For Customers and Refunds entities, we have not marked as mandatory or optional. Should we? https://razorpay.com/docs/api/customers https://razorpay.com/docs/api/refunds
-
The following table details some of the attributes related to Payment Links:
The Payment Link entity has the following fields:
-
Retrieve information about payment links.
link not working
-
Payment Links
hyperlink to the product overview page
-
You can easily set up and use Payment Links with these APIs.
remove
-
-
betasite.razorpay.com betasite.razorpay.com
-
t by IDđź”—
Comment same as above
-
mentsđź”—
Split the Codes into two Normal and With Payout Details Create two separate code sections
-
on on APIs used as
Use Handy Tips as the Callout Title and blue color background
-
-
betasite.razorpay.com betasite.razorpay.com
-
Contentđź”—
missing code samples
-
nformationđź”—
Missing code samples
-
umentđź”—
Missing code samples in 6 languages
-
Post successful document creation, the corresponding document_id (present in response) can be provided in cases such as dispute evidence submission.
After a document is successfully uploaded, the corresponding document id (present in response) can be provided in cases such as dispute evidence submission.
-
ments Entityđź”—
Are there any other ways to upload documents from the Dashboard? If so, add relevant links below the table
-
ntityđź”—
Add the one-liner
-
-
betasite.razorpay.com betasite.razorpay.comDisputes7
-
isputeđź”—
codes in 6 languages
-
irreversible
bold this
-
puteđź”—
missing codes in 6 SDK languages
-
putesđź”—
We should have the Disputes API codes for all the 6 SDK languages
-
Entityđź”—
The Disputes entity has the following fields:
-
You can manage your customer disputes using the Razorpay Disputes APIs.
remove
-
dispute
link this
-
-
betasite.razorpay.com betasite.razorpay.comOrders13
-
meters table.
Add Webhooks for Orders Check refunds API for example
-
You can modify an existing order to update the Notes field only. Notes can be used to record additional information about the order. A key-value store, the notes field can have a maximum of 15 key-value pairs, each of 256 characters (maximum).
This should come after the endpoint info
-
Using the PATCH operation, you can replace the entire notes object for the entity.
remove
-
metersđź”—
Add mandatory/optional info for all
-
You can retrieve all the payments made for an order. The response contains all the authorised or failed payments for that order.
This should come after the endpoint
-
-
Use colons for all such instances
-
page
page
-
owing fields:
Add a line below the table about how various actions can be performed from the dashboard Check Refunds API for example.
-
Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.
link to the product pages
-
Visit our Introduction to Razorpay page to find the right integration method for you.
Find the right integration method.
-
Know more about Orders.
remove
-
Order creation is important as it helps you associate every payment with an order, thus preventing multiple payments. It is compulsory to create orders to capture payments automatically. The order ID secures the payment request and one cannot tamper with the order amount
bullet these
-
orders
link to the orders article
-
-
betasite.razorpay.com betasite.razorpay.com
-
Refer the webhook documentation to know more about Razorpay Webhooks.
Know more about Razorpay Webhooks.
-