现在我正在使用交易状态webhook来更新我的应用程序,当支付改变状态时。前几天,当webhook被触发时,我的web服务器宕机了,所以我的系统中的状态从未更新过,我也没有任何方法知道付款何时标记为"已处理"。
从文档中,当一个webhook失败时,它会立即再尝试两次请求,但如果我的网站宕机超过几秒钟,这是没有帮助的。
如果可能的话,我想自己获取状态,但是似乎没有任何表示事务实际标记为处理的时间的信息。
我猜"日期"是交易启动的日期,而"清算日期"只是对交易处理时间的估计(并且没有更新以反映交易处理时的实际日期)。
如果您有付款的Transaction ID,您可以使用Transactions/By ID方法查找它。
它会给你关于付款的信息:
{
"Success": true,
"Message": "Success",
"Response": {
"Amount": 1,
"Date": "8/31/2011 10:19:09 AM",
"DestinationId": "812-111-1111",
"DestinationName": "Bob",
"Id": 12345,
"SourceId": "812-111-2222",
"SourceName": "Alice",
"Type": "money_sent",
"UserType": "Dwolla",
"Status": "processed",
"ClearingDate": "",
"Notes": "Thank you for lunch!",
"Fees": [
{
"Id": 1646163,
"Amount": 0.1,
"Type": "Facilitator Fee"
}
]
}
}
反应。Status字段表示事务的当前状态,这就是您要查找的。
或者,您可以使用Transaction/Listing方法列出您的帐户下所有最近(和较早)的事务,并使用与上面所示相同的数据。您可以通过使用请求参数来过滤结果并指定范围,以缩小搜索范围,并生成服务器停机时发生的事务列表。
你是对的,清算日期只是一个估计何时付款将被清算-它不是一个保证。