Есть ли способ автоматически создать оплаченный счет для оплаченного заказа Razorpay? - PullRequest
0 голосов
/ 30 октября 2019

Когда заказ успешно оплачен с помощью кассы Razorpay, я хочу отправить paid (это должен быть не счет issued, а оплаченный счет с прикрепленными order_id и payment_id со статусом paid) счет-фактура для клиента. Как я могу это сделать?

Если предположить, что в панели инструментов и настройках Razorpay невозможно настроить автоматическую отправку счета paid для оплаченного заказа.

Я пыталсясоздание счета-фактуры вручную с помощью API счетов Razorpay всякий раз, когда я получаю order.paid webhook на моем сервере. Это имеет проблему, потому что API счетов для создания позволяет мне только создавать счет issued и всякий раз, когда я пытаюсь отправить status или payment_id или order_id в качестве полезной нагрузки.

Я получаю сообщение об ошибке, в котором говорится, что эти поля не обязательны для заполнения и, следовательно, не должны отправляться.

Тогда для того, чтобы я перевел эти счета в состояние paid, я должен фактически произвести платеж противissued счет, который не то, что я хочу. Я просто хочу, чтобы система Razorpay обрабатывала счета за меня при оплате заказа.

  • Могу ли я что-нибудь сделать в этом случае?
  • Или есть какой-либо другой продукт? в арсенале Razorpay для решения этого дела? (В альтернативном варианте также должен быть элемент управления разработчика / программирования, было бы неплохо, если бы также был элемент управления приборной панели)
  • Или, к сожалению, мне, возможно, придется создать собственную систему выставления счетов?

Я быочень признателен за любую помощь.

API Razorpay для создания счета

curl -u "$RP_ID:$RP_SECRET" \
  -X POST https://api.razorpay.com/v1/invoices \
  -H "Content-type: application/json" \
  -d '{
  "type": "invoice",
  "customer": {
    "name": "Gaurav Kumar"
  },
  "line_items": [
    { "name": "Book / English August", "amount": 1000, "currency": "INR" }
  ],
  "currency": "INR",
  "order_id": "order_Da0i2ARDJvG7va",
  "payment_id": "pay_Da0ihaEIRxbJMC",
  "status": "paid"
}' | jq

Вывод для указанного выше запроса API

{
  "error": {
    "code": "BAD_REQUEST_ERROR",
    "description": "order_id, payment_id, status is/are not required and should not be sent"
  }
}
...