Как я могу получить информацию о продукте в Stripe webhook (возврат средств)

#stripe-payments

Вопрос:

У меня есть Webhook, который настроен на вкладке «Разработчик» на странице «Полоса».

Это хорошо работает, но, например, для возврата денег, у меня нет информации о продукте в ответе:

  {
  "id": "evt_1IsnzmJROm6awlUaq3rcFwr8",
  "object": "event",
  "api_version": "2019-11-05",
  "created": 1621425325,
  "data": {
    "object": {
      "id": "ch_1IsYZMJROm6awlUaER10QD3d",
      "object": "charge",
      "amount": 1750,
      "amount_captured": 1750,
      "amount_refunded": 1750,
      "application": null,
      "application_fee": null,
      "application_fee_amount": null,
      "balance_transaction": "txn_1IsYZMJROm6awlUassUs5W6y",
      "billing_details": {
        "address": {
          "city": null,
          "country": null,
          "line1": null,
          "line2": null,
          "postal_code": "71854",
          "state": null
        },
        "email": "test@email-receiver.com",
        "name": "Test",
        "phone": null
      },
      "calculated_statement_descriptor": "TEST",
      "captured": true,
      "created": 1621366028,
      "currency": "usd",
      "customer": "cus_JVZiIhKIpCH9qh",
      "description": "Bla bla",
      "destination": null,
      "dispute": null,
      "disputed": false,
      "failure_code": null,
      "failure_message": null,
      "fraud_details": {
      },
      "invoice": null,
      "livemode": false,
      "metadata": {
      },
      "on_behalf_of": null,
      "order": null,
      "outcome": {
        "network_status": "approved_by_network",
        "reason": null,
        "risk_level": "normal",
        "risk_score": 14,
        "seller_message": "Payment complete.",
        "type": "authorized"
      },
      "paid": true,
      "payment_intent": "pi_1IsYZMJROm6awlUaVsZOefRh",
      "payment_method": "pm_1IsYZJJROm6awlUasaBRHxzq",
      "payment_method_details": {
        "card": {
          "brand": "visa",
          "checks": {
            "address_line1_check": null,
            "address_postal_code_check": "pass",
            "cvc_check": "pass"
          },
          "country": "US",
          "exp_month": 1,
          "exp_year": 2023,
          "fingerprint": "QA94mAZK6R1nyB79",
          "funding": "credit",
          "installments": null,
          "last4": "4242",
          "network": "visa",
          "three_d_secure": null,
          "wallet": null
        },
        "type": "card"
      },
      "receipt_email": "test@email-receiver.com",
      "receipt_number": null,
      "receipt_url": "https://pay.stripe.com/receipts/acct_1Fg5jCJROm6awlas/ch_1IsYZMJROm6awlUaOI10QD3d/rcpt_JVZijS8cso7ks67hLGI705AvCCDOC8J",
      "refunded": true,
      "refunds": {
        "object": "list",
        "data": [
          {
            "id": "re_1IsnzlJROm6awlUa5vVlKl1T",
            "object": "refund",
            "amount": 1750,
            "balance_transaction": "txn_1IsnzlJROm6awlUaFZvKoHcE",
            "charge": "ch_1IsYZMJROm6awlUaER10QD3d",
            "created": 1621425325,
            "currency": "usd",
            "metadata": {
            },
            "payment_intent": "pi_1IsYZMJROm6awlUaVsZOefRh",
            "reason": "requested_by_customer",
            "receipt_number": null,
            "source_transfer_reversal": null,
            "status": "succeeded",
            "transfer_reversal": null
          }
        ],
        "has_more": false,
        "total_count": 1,
        "url": "/v1/charges/ch_1IsYZMJRlT6awlUaER10QD3d/refunds"
      },
      "review": null,
      "shipping": null,
      "source": null,
      "source_transfer": null,
      "statement_descriptor": null,
      "statement_descriptor_suffix": null,
      "status": "succeeded",
      "transfer_data": null,
      "transfer_group": null
    },
    "previous_attributes": {
      "amount_refunded": 0,
      "refunded": false,
      "refunds": {
        "data": [

        ],
        "total_count": 0
      }
    }
  },
  "livemode": false,
  "pending_webhooks": 1,
  "request": {
    "id": "req_Ga1TLn7TsaGIBg",
    "idempotency_key": null
  },
  "type": "charge.refunded"
}
 

Комментарии:

1. Какую информацию о продукте вы ищете? Если это возврат средств за обычное намерение взимать плату/оплату, неясно, что вы ожидаете найти.

2. Я хочу получить product_id, для которого требуется возврат средств.

3. Конечно, но какого продукта вы ожидали бы? Вы где-то устанавливаете продукт, связанный с первоначальным платежом?

4. Да, на вкладке «Продукты» я создал несколько продуктов, за которые платят пользователи.

5. Хорошо, но как это связано с оплатой здесь? Можете ли вы добавить фрагмент к своему вопросу, показывающий, как вы создаете платежи? Вы используете метаданные? Вы используете оформление заказа с линейными товарами? Вы пользуетесь Подписками? Если вы просто создаете платежные намерения с amount отсутствующей внутренней ссылкой на продукт, это просто оплата за определенную сумму. Ссылка на «Продукт» в этом случае-это то, что вам придется явно учитывать.