Skip to content

Latest commit

 

History

History
499 lines (441 loc) · 14.9 KB

qrcode.md

File metadata and controls

499 lines (441 loc) · 14.9 KB

Qr Codes

Create Qr code

notes := map[string]interface{}{
  "purpose": "Test UPI QR code notes",  
}  

data := map[string]interface{}{
  "type": "upi_qr",
  "name": "Store_1",
  "usage": "single_use",
  "fixed_amount": true,
  "payment_amount": 300,
  "description": "For Store 1",
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838,
  "notes": notes,
}
body, err := client.QrCode.Create(data, nil)

Parameters:

Name Type Description
type* string The type of QR code i.e, upi_qr/bharat_qr
name string Label entered to identify the QR code.
usage* string Indicates if the QR code should be allowed to accept single payment or multiple payments i.e, single_use/multiple_use
fixed_amount boolean Indicates if the QR should accept payments of specific amounts or any amount.
payment_amount(* mandatory if fixed_amount is true) integer Indicates if the QR should accept payments of specific amounts or any amount.
customer_id string Unique identifier of the customer the QR code is linked with
description string A brief description about the QR code.
close_by integer UNIX timestamp at which the QR code is scheduled to be automatically closed. The time must be at least 15 minutes after the current time.
notes object Key-value pair that can be used to store additional information about the QR code. Maximum 15 key-value pairs, 256 characters (maximum) each.

Response:

{
  "id": "qr_HMsVL8HOpbMcjU",
  "entity": "qr_code",
  "created_at": 1623660301,
  "name": "Store_1",
  "usage": "single_use",
  "type": "upi_qr",
  "image_url": "https://rzp.io/i/BWcUVrLp",
  "payment_amount": 300,
  "status": "active",
  "description": "For Store 1",
  "fixed_amount": true,
  "payments_amount_received": 0,
  "payments_count_received": 0,
  "notes": {
    "purpose": "Test UPI QR code notes"
  },
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838
}

Create Qr code with GST

notes = map[string]interface{}{
    "purpose": "Test UPI QR code notes",
  }

tax_invoice = map[string]interface{}{
    "number": "INV001",
    "date": 1589994898,
    "customer_name": "Gaurav Kumar",
    "business_gstin": "06AABCU9605R1ZR",
    "gst_amount": 4000,
    "cess_amount": 0,
    "supply_type": "interstate",
  }
  
data := map[string]interface{}{
  "type": "upi_qr",
  "name": "Store_1",
  "usage": "single_use",
  "fixed_amount": true,
  "payment_amount": 300,
  "description": "For Store 1",
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838,
  "notes": notes,
  "tax_invoice": tax_invoice,
})

body, err := client.QrCode.create(data, nil)

Parameters:

Name Type Description
type* string The type of QR code i.e, upi_qr/bharat_qr
name string Label entered to identify the QR code.
usage* string Indicates if the QR code should be allowed to accept single payment or multiple payments i.e, single_use/multiple_use
fixed_amount boolean Indicates if the QR should accept payments of specific amounts or any amount.
payment_amount(* mandatory if fixed_amount is true) integer Indicates if the QR should accept payments of specific amounts or any amount.
customer_id string Unique identifier of the customer the QR code is linked with
description string A brief description about the QR code.
close_by integer UNIX timestamp at which the QR code is scheduled to be automatically closed. The time must be at least 15 minutes after the current time.
notes object Key-value pair that can be used to store additional information about the QR code. Maximum 15 key-value pairs, 256 characters (maximum) each.
tax_invoice object This block contains information about the invoices. If not provided, the transaction will default to non-GST compliant UPI flow.

Response:

{
  "id": "qr_HMsVL8HOpbMcjU",
  "entity": "qr_code",
  "created_at": 1623660301,
  "name": "Store_1",
  "usage": "single_use",
  "type": "upi_qr",
  "image_url": "https://rzp.io/i/BWcUVrLp",
  "payment_amount": 300,
  "status": "active",
  "description": "For Store 1",
  "fixed_amount": true,
  "payments_amount_received": 0,
  "payments_count_received": 0,
  "notes": {
    "purpose": "Test UPI QR code notes"
  },
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838,
  "tax_invoice": {
    "number": "INV001",
    "date": 1589994898,
    "customer_name": "Gaurav Kumar",
    "business_gstin": "06AABCU9605R1ZR",
    "gst_amount": 4000,
    "cess_amount": 0,
    "supply_type": "interstate"
  }
}

Fetch all Qr code

data := map[string]interface{}{
  "count": "1",
}

body, err := client.QrCode.All(data, nil)

Parameters:

Name Type Description
from timestamp timestamp after which the qrcodes were created
to timestamp timestamp before which the qrcodes were created
count integer number of qrcodes to fetch (default: 10)
skip integer number of qrcodes to be skipped (default: 0)

Response:

{
  "entity": "collection",
  "count": 1,
  "items": [
    {
      "id": "qr_HO2jGkWReVBMNu",
      "entity": "qr_code",
      "created_at": 1623914648,
      "name": "Store_1",
      "usage": "single_use",
      "type": "upi_qr",
      "image_url": "https://rzp.io/i/w2CEwYmkAu",
      "payment_amount": 300,
      "status": "active",
      "description": "For Store 1",
      "fixed_amount": true,
      "payments_amount_received": 0,
      "payments_count_received": 0,
      "notes": {
        "purpose": "Test UPI QR code notes"
      },
      "customer_id": "cust_HKsR5se84c5LTO",
      "close_by": 1681615838,
      "closed_at": null,
      "close_reason": null
    }
  ]
}

Fetch a Qr code

qrCodeId := "qr_HO2r1MDprYtWRT"

body, err := client.QrCode.Fetch(qrCodeId, nil, nil)

Parameters:

Name Type Description
qrCodeId string The id of the qr code to be fetched

Response:

{
  "id": "qr_HO2r1MDprYtWRT",
  "entity": "qr_code",
  "created_at": 1623915088,
  "name": "Store_1",
  "usage": "single_use",
  "type": "upi_qr",
  "image_url": "https://rzp.io/i/oCswTOcCo",
  "payment_amount": 300,
  "status": "active",
  "description": "For Store 1",
  "fixed_amount": true,
  "payments_amount_received": 0,
  "payments_count_received": 0,
  "notes": {
    "purpose": "Test UPI QR code notes"
  },
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838,
  "closed_at": null,
  "close_reason": null
}

Fetch a Qr code for customer id

para_attr := map[string]interface{}{
	"customer_id" : "cust_J3oSNi1KgzqVEX",
}

body, err := client.QrCode.All(para_attr, nil)

Parameters:

Name Type Description
customerId* string The id of the customer to which qr code need to be fetched

Response:

{
  "entity": "collection",
  "count": 1,
  "items": [
    {
      "id": "qr_HMsqRoeVwKbwAF",
      "entity": "qr_code",
      "created_at": 1623661499,
      "name": "Fresh Groceries",
      "usage": "multiple_use",
      "type": "upi_qr",
      "image_url": "https://rzp.io/i/eI9XD54Q",
      "payment_amount": null,
      "status": "active",
      "description": "Buy fresh groceries",
      "fixed_amount": false,
      "payments_amount_received": 1000,
      "payments_count_received": 1,
      "notes": [],
      "customer_id": "cust_HKsR5se84c5LTO",
      "close_by": 1624472999,
      "close_reason": "paid",
      "tax_invoice": null
    }
  ]
}

Fetch a Qr code for payment id

para_attr := map[string]interface{}{
	"payment_id" : "pay_HMtDKn3TnF4D8x",
}

body, err := client.QrCode.All(para_attr, nil)

Parameters:

Name Type Description
paymentId* string The id of the payment to which qr code need to be fetched

Response:

{
  "entity": "collection",
  "count": 1,
  "items": [
    {
      "id": "pay_HMtDKn3TnF4D8x",
      "entity": "payment",
      "amount": 500,
      "currency": "INR",
      "status": "captured",
      "order_id": null,
      "invoice_id": null,
      "international": false,
      "method": "upi",
      "amount_refunded": 0,
      "refund_status": null,
      "captured": true,
      "description": "QRv2 Payment",
      "card_id": null,
      "bank": null,
      "wallet": null,
      "vpa": "gauri.kumari@okhdfcbank",
      "email": "gauri.kumari@example.com",
      "contact": "+919999999999",
      "customer_id": "cust_HKsR5se84c5LTO",
      "notes": [],
      "fee": 0,
      "tax": 0,
      "error_code": null,
      "error_description": null,
      "error_source": null,
      "error_step": null,
      "error_reason": null,
      "acquirer_data": {
        "rrn": "116514257019"
      },
      "created_at": 1623662800
    }
  ]
}

Fetch Payments for a QR Code

QrCodeID := "qr_HMsgvioW64f0vh"

body, err := client.QrCode.FetchPayments(QrCodeID, nil, nil)

Parameters:

Name Type Description
qrCodeId* string The id of the qr code to which payment where made
from timestamp timestamp after which the payments were created
to timestamp timestamp before which the payments were created
count integer number of payments to fetch (default: 10)
skip integer number of payments to be skipped (default: 0)

Response:

{
  "entity": "collection",
  "count": 1,
  "items": [
    {
      "id": "pay_HMtDKn3TnF4D8x",
      "entity": "payment",
      "amount": 500,
      "currency": "INR",
      "status": "captured",
      "order_id": null,
      "invoice_id": null,
      "international": false,
      "method": "upi",
      "amount_refunded": 0,
      "refund_status": null,
      "captured": true,
      "description": "QRv2 Payment",
      "card_id": null,
      "bank": null,
      "wallet": null,
      "vpa": "gauri.kumari@okhdfcbank",
      "email": "gauri.kumari@example.com",
      "contact": "+919999999999",
      "customer_id": "cust_HKsR5se84c5LTO",
      "notes": [],
      "fee": 0,
      "tax": 0,
      "error_code": null,
      "error_description": null,
      "error_source": null,
      "error_step": null,
      "error_reason": null,
      "acquirer_data": {
        "rrn": "116514257019"
      },
      "created_at": 1623662800
    }
  ]
}

Close a QR Code

qrCodeId := "qr_HMsVL8HOpbMcjU"

body, err := client.QrCode.Close(qrCodeId);

Parameters:

Name Type Description
qrCodeId* string The id of the qr code to be closed

Response:

{
  "id": "qr_HMsVL8HOpbMcjU",
  "entity": "qr_code",
  "created_at": 1623660301,
  "name": "Store_1",
  "usage": "single_use",
  "type": "upi_qr",
  "image_url": "https://rzp.io/i/BWcUVrLp",
  "payment_amount": 300,
  "status": "closed",
  "description": "For Store 1",
  "fixed_amount": true,
  "payments_amount_received": 0,
  "payments_count_received": 0,
  "notes": {
    "purpose": "Test UPI QR code notes"
  },
  "customer_id": "cust_HKsR5se84c5LTO",
  "close_by": 1681615838,
  "closed_at": 1623660445,
  "close_reason": "on_demand"
}

Refund a Payment

data := map[string]interface{}{
  "speed": "normal",
  "notes": map[string]interface{}{
    "key_1": "value1",
    "key_2": "value2",
  },
}
body, err := client.Payment.Refund("<paymentId>",1200, data, nil)

Parameters:

Name Type Description
paymentId* string The id of the payment to be refunded
amount string Amount to be refunded
notes object Key-value pair that can be used to store additional information about the QR code. Maximum 15 key-value pairs, 256 characters (maximum) each.

Response:

{
  "id": "rfnd_FP8QHiV938haTz",
  "entity": "refund",
  "amount": 500100,
  "receipt": "Receipt No. 31",
  "currency": "INR",
  "payment_id": "pay_29QQoUBi66xm2f",
  "notes": [],
  "receipt": null,
  "acquirer_data": {
    "arn": null
  },
  "created_at": 1597078866,
  "batch_id": null,
  "status": "processed",
  "speed_processed": "normal",
  "speed_requested": "normal"
}

PN: * indicates mandatory fields

For reference click here