订阅结果通知

当订阅创建成功或失败时,FuturePay 会使用此订阅创建传入的notifyUrl将订阅结果发送给商家。

接收事件通知:

每当触发某个事件时(如订阅成功、订阅失败等),我们的系统会向您提供的回调 URL 发送一个 HTTP POST 请求。请求的主体将包含事件的详细信息,通常为 JSON 格式。

3.请求头信息:

在接收到的 POST 请求中,您需要验证请求的有效性。您可以使用以下信息来校验请求:

Content-Type: application/json
Authorization: 24be30a26b05f284a3a838abcaabcfc44fd7d02c2622a9d0d7efcaa2b21f12f2 --这是用于验证请求来源和完整性的签名,确保回调请求的安全性。
merchantId: 11122333 --户的唯一标识符
appId: 1 --应用的唯一标识符
curTime: 1735279386000 --回调请求的时间戳

说明:
Content-Type: application/json 表示请求体是 JSON 格式。 Authorization: 是一个签名字符串,用于验证请求的合法性。 merchantId: 表示商户的唯一标识。 appId: 表示应用的唯一标识。 curTime: 表示当前时间戳。

4.回调数据格式

接收到的回调请求主体通常会包括以下字段:

{
    "appId": "1914601522407301120",
    "data": {
        "amount": {
            "currency": "USD",
            "value": 1999
        },
        "eventCode": "SUBSCRIBE",
        "eventDate": 1745389369000,
        "merchantReference": "ref_702887060318588928",
        "paymentMethod": "alipaycn",
        "productName": "测试订阅",
        "productsId": "1914915300768395264",
        "pspReference": "1914927780190093312",
        "resultCode": "SUCCEED"
    },
    "merchantId": "1914601522390544384"
}

参数说明

参数类型描述示例值
appIdString应用 ID1864516583200808960
merchantIdString商户 ID1864516583179857920
dataObject交易数据对象{...}
data.amountObject正式订阅金额对象{...}
data.amount.currencyString交易币种USD
data.amount.valueInteger交易金额1999
data.productsIdString产品 ID1901930937348960256
data.productNameString产品名称两期订阅
data.merchantReferenceString商户参考号569a9331-5914-4b66-974b-ef9c43213e30
data.pspReferenceString平台参考号1901931094530457600
data.paymentMethodString扣款方式alipaycn
data.eventDateString事件日期,时间戳格式,单位为毫秒1742295098000
data.eventCodeString事件类型SUBSCRIBE(订阅)
data.reasonString失败原因success
data.resultCodeString结果代码SUCCEED(成功)CANCEL(订阅取消)FAILED(订阅失败)EXPIRED(订阅已到期)

您需要对 data部分进行加密验签,确保其数据的完整性和安全性。如果签名匹配,说明数据是有效且未被篡改,您可以继续处理这个回调请求。

加密内容为:

{
    "data": {
        "amount": {
            "currency": "USD",
            "value": 1999
        },
        "productsId": "1901930937348960256",
        "productName": "两期订阅",
        "merchantReference": "569a9331-5914-4b66-974b-ef9c43213e30",
        "pspReference": "1901931094530457600",
        "paymentMethod": "alipaycn",
        "eventDate": "2025-03-18T09:38:34Z",
        "eventCode": "SUBSCRIBE",
        "resultCode": "SUCCEED"
    }
}

将加密后的签名与请求头中的 Authorization 字段值进行比对,确认是否一致。

5.回调内容说明

收到通知消息后,请回应 success 以确认成功接收。