代码之家  ›  专栏  ›  技术社区  ›  Mr J

如何链接PayPal webhook和用户?

  •  2
  • Mr J  · 技术社区  · 7 年前

    我想我看得太简单了。

    当我通过PayPal PHP SDK创建新的计费协议时,我会通过以下URL返回到我的商店。。

    /paypal-success?success=true&token=EC-3K353628LH3197445  
    

    我创建了一个 WebHook 对于 Subscription Created 发布JSON的事件,如下所示

    {
        "id": "WH-5UR49681MC703253M-3S161814MB664705V",
        "event_version": "1.0",
        "create_time": "2018-03-17T17:21:47.120Z",
        "resource_type": "Agreement",
        "event_type": "BILLING.SUBSCRIPTION.CREATED",
        "summary": "A billing subscription was created",
        "resource": {
            "agreement_details": {
                "outstanding_balance": {
                    "value": "0.00"
                },
                "num_cycles_remaining": "0",
                "num_cycles_completed": "0",
                "next_billing_date": "2018-03-17T10:00:00Z",
                "last_payment_date": "2018-03-17T17:21:44Z",
                "last_payment_amount": {
                    "value": "1.00"
                },
                "final_payment_due_date": "1970-01-01T00:00:00Z",
                "failed_payment_count": "0"
            },
            "description": "x",
            "links": [{
                "href": "api.sandbox.paypal.com/v1/payments/billing-agreements/I-55KA5N9GPPJW",
                "rel": "self",
                "method": "GET"
            }],
            "shipping_address": {
                "recipient_name": "test buyer",
                "line1": "Spitalfields Arts Market, 112 Brick Lane,",
                "city": "London",
                "state": "London",
                "postal_code": "E1 6RL",
                "country_code": "GB"
            },
            "id": "I-55KA5N9GPPJW",
            "state": "Active",
            "payer": {
                "payment_method": "paypal",
                "status": "verified",
                "payer_info": {
                    "email": "jamie-buyer@x.com",
                    "first_name": "test",
                    "last_name": "buyer",
                    "payer_id": "Q3TZFN4F7NHJ6",
                    "shipping_address": {
                        "recipient_name": "test buyer",
                        "line1": "Spitalfields Arts Market, 112 Brick Lane,",
                        "city": "London",
                        "state": "London",
                        "postal_code": "E1 6RL",
                        "country_code": "GB"
                    }
                }
            },
            "plan": {
                "curr_code": "USD",
                "links": [],
                "payment_definitions": [{
                    "type": "REGULAR",
                    "frequency": "Month",
                    "frequency_interval": "1",
                    "amount": {
                        "value": "49.99"
                    },
                    "cycles": "0",
                    "charge_models": [{
                        "type": "TAX",
                        "amount": {
                            "value": "0.00"
                        }
                    },
                    {
                        "type": "SHIPPING",
                        "amount": {
                            "value": "0.00"
                        }
                    }]
                }],
                "merchant_preferences": {
                    "setup_fee": {
                        "value": "1.00"
                    },
                    "auto_bill_amount": "YES",
                    "max_fail_attempts": "0"
                }
            },
            "start_date": "2018-03-17T00:00:00Z"
        },
        "links": [{
            "href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-5UR49681MC703253M-3S161814MB664705V",
            "rel": "self",
            "method": "GET"
        },
        {
            "href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-5UR49681MC703253M-3S161814MB664705V/resend",
            "rel": "resend",
            "method": "POST"
        }]
    }
    

    将用户重定向回我的商店时生成的令牌似乎不在 WebHooks JSON。

    一旦你的PayPal用户被重定向回你的店铺,你如何将他们链接到 网络挂钩 ?

    1 回复  |  直到 7 年前
        1
  •  2
  •   pjmarshall1    7 年前

    成功url中返回的令牌用于在用户接受PayPal上的协议后激活协议。激活协议后,您可以检索协议id。该id位于您的web挂钩中的参考资料/id.“id”:“I-55KA5N9GPPJW”下。可能有更好的方法来处理这个问题,但我创建了一个将协议id与用户id关联的订阅表,以及一个包含协议id和关联webhook信息的事务表。

    推荐文章