1
從我收集的幾個stackoverflow帖子,當用戶取消貝寶定期付款時,即時付款通知發送到IPN設置中設置的指定網址。但是我無法收集的是在查詢字符串中發送到這個URL的數據。我遇到了這個鏈接:取消貝寶定期付款通知付款
https://www.paypal.com/cgi-bin/webscr?cmd=p/acc/ipn-subscriptions-outside
它提供的,我認爲是在IPN設置中指定的網址發送的查詢字符串的一部分被送到變量列表。如果這是真的,那麼這意味着我知道這個通知是一個取消通知,因爲txn_type的值將是「subscr_cancel」。
但是,我仍然需要知道什麼經常性計劃實際上被取消。因此,我需要知道重複配置文件標記以便將其作爲查詢字符串中的變量進行訪問。
只給你什麼,我想在這裏做一個想法,這裏是一些示例代碼:
def notify_url
if params[:txn_type] == "subscr_cancel"
item_id = Order.where(paypal_recurring_profile_token: params[:recurring_profile_token]).unit_id_for_plan
agent_host = CONFIG["agent_#{Rails.env}"]["host"]
agent_port = CONFIG["agent_#{Rails.env}"]["port"]
url = "http://#{agent_host}:#{agent_port}/home/deactivate?item_id=#{item_id}"
begin
resp = Net::HTTP.get(URI.parse(url))
resp = JSON.parse(resp)
puts "resp is: #{resp}"
true
rescue => error
raise "Error: #{error}"
end
if resp["status"] == "success"
true
end
end
end
所有我需要知道的是,如果txn_type將等於subscr_cancel當發送的通知取消經常性結算? @PP_MTS_Chad已經確認包含recurring_payment_id。我只需要知道是否包含txn_type。
是:txn_type的值「subscr_cancel」還發送回來了嗎? – JohnMerlino
是的,你會回來的。我在原始答案中添加了IPN POST的示例,當配置文件被取消時我收到了。 –
在該IPN POST中,我沒有看到recurring_payment_id。 – JohnMerlino