收到币基 webhook 后如何开始 Zendesk 聊天?

问题描述

希望你们一切都好。 目前,我正在一个网站上工作,在那里我销售黄金和角色等游戏物品。我正在通过 Coinbase 接收付款。在 Coinbase 上成功付款后,我想在 Zendesk 聊天框中发送来自付款用户的消息。
我使用的技术

  • 用于后端的 Django
  • 用于前端的 HTML、CSS 和 JS

到目前为止我做过的事情

  1. 我已设法在我的 Coinbase 帐户中收到款项,成功付款后,Coinbase 重定向到我的网站。我正在通过以下代码完成所有这些。
def buy_osrs(request):
    obj = Setting.objects.first()
    osrs_price = getattr(obj,"osrs_price")
    osrs_fee = getattr(obj,"osrs_fee")
    form = OSRSForm()
    site = get_current_site(request).domain
    payment_success = f"https://{site}/payment/"
    if request.method == "POST":
        form = OSRSForm(request.POST)
        if form.is_valid():
            form.save()
            total = float(form.cleaned_data.get("osrs_numbers")) * osrs_price + osrs_fee
            charge_info = {
                "name": "My Website","description": "My Website Description","local_price": {"amount": total,"currency": "USD"},"pricing_type": "fixed_price","Metadata": {"rsn": form.cleaned_data.get("rsn"),"email": form.cleaned_data.get("email")},"redirect_url": payment_success,}
            charge = client.charge.create(**charge_info)
            return redirect(charge.get("hosted_url"))
    context = {
        "form": form,"osrs_price": osrs_price,"osrs_fee": osrs_fee,}
    return render(request,"main/buy_osrs.html",context)
  1. 我设法设置并接收了网络钩子,它根据从 Coinbase 获得的响应更改了我的数据库
@csrf_exempt
def coinbase_webhook(request):
    if request.method == "POST":
        # event payload
        request_data = request.body.decode("utf-8")
        # webhook signature
        request_sig = request.headers.get("X-CC-Webhook-Signature")

        try:
            # signature verification and event object construction
            event = Webhook.construct_event(request_data,request_sig,settings.SECRET_KEY)

            obj,created = CoinbaSEOrder.objects.get_or_create(order_id=event.id,code=event.data.code)
            if event.type == "charge:pending":
                obj.status = "Pending Confirmation"
                obj.save()
                
            elif event.type == "charge:confirmed":
                obj.status = "Payment Confirmed"
                obj.save()

            elif event.type == "charge:delayed":
                obj.status = "Payment Delayed"
                obj.save()

            elif event.type == "charge:resolved":
                obj.status = "Payment Resolved"
                obj.save()

            elif event.type == "charge:Failed":
                obj.status = "Payment Failed"
                obj.save()

        except (WebhookInvalidPayload,SignatureVerificationError) as e:
            return str(e),400

    return HttpResponse()

我想要的东西
现在我的要求是每当 event.type == "charge:confirmed" 发生时,最终用户应该在 Zendesk 实时聊天框中发送一条自动消息,说,嗨,我是 ABC。我已经付给你 XYZ 金额。
我认为这是不可能通过 webhook 实现的,为此我必须使用 jquery 或其他一些技术。所以请指导我什么是最好的策略

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...