2,250 Matching Annotations
  1. Jul 2022
  2. betasite.razorpay.com betasite.razorpay.com
  3. betasite.razorpay.com betasite.razorpay.com
    1. 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

    1. 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

    1. 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.

    2. 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

    3. 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

  4. betasite.razorpay.com betasite.razorpay.com
    1. 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.

    2. 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.

    3. 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.
    1. 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

    2. 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

    3. 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

    1. 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

    2. 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

    3. 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.

    4. 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.

    5. 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.

    6. 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.

  5. betasite.razorpay.com betasite.razorpay.com
    1. 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

    2. 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.

  6. Jun 2022
    1. 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.

    2. 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

    3. 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.

    4. 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.

    5. 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.

    1. 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

    1. 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.

  7. betasite.razorpay.com betasite.razorpay.com
  8. betasite.razorpay.com betasite.razorpay.com
    1. 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

    2. 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

    3. 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