2014-10-19 128 views
1

我正確設置了我的網站,以支持使用貝寶循環結算與payum bundle帳戶年度訂閱付款。貝寶快速結帳 - 循環結算 - 檢查經常性狀態

這些都是我的網站發送給貝寶在參數上重複請求

$recurringPaymentDetails['TOKEN'] = $agreementDetails['TOKEN']; 
    $recurringPaymentDetails['DESC'] = 'annual account subscription'; 
    $recurringPaymentDetails['EMAIL'] = $agreementDetails['EMAIL']; 
    $recurringPaymentDetails['AMT'] = $this->view['user']->money; 
    $recurringPaymentDetails['CURRENCYCODE'] = 'EUR'; 
    $recurringPaymentDetails['BILLINGFREQUENCY'] = 365; 
    $recurringPaymentDetails['PROFILESTARTDATE'] = date(DATE_ATOM); 
    $recurringPaymentDetails['BILLINGPERIOD'] = Api::BILLINGPERIOD_DAY; 

一切正常的準備

$agreementDetails['PAYMENTREQUEST_0_AMT'] = $this->view['user']->money; 
    $agreementDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = 'EUR'; 
    $agreementDetails['PAYMENTREQUEST_0_ITEMAMT'] = $this->view['user']->money; 
    $agreementDetails['PAYMENTREQUEST_0_PAYMENTACTION'] = "sale"; 
    $agreementDetails['L_PAYMENTREQUEST_0_NAME0'] = "Annual subscription"; 
    $agreementDetails['L_PAYMENTREQUEST_0_QTY0'] = 1; 
    $agreementDetails['L_PAYMENTREQUEST_0_AMT0'] = $this->view['user']->money; 
    $agreementDetails['NOSHIPPING'] = Api::NOSHIPPING_NOT_DISPLAY_ADDRESS; 
    $agreementDetails['L_BILLINGTYPE0'] = Api::BILLINGTYPE_RECURRING_PAYMENTS; 
    $agreementDetails['L_BILLINGAGREEMENTDESCRIPTION0'] = 'Annual account subscription'; 

這些。

我在這裏的問題是,我只是想知道,如果我的客戶的經常性支付將被接受和支付。還有,如果我的客戶沒有支付年費。

我的意思是,如何知道(服務器端,PHP)特定帳戶的最後一次成功付款日期?

+0

我不確定,但我想你必須設置貝寶IPN。 – 2014-10-19 16:28:36

+0

或者webhooks? – 2014-10-19 18:41:34

+0

嗨,你可以發佈你的控制器的行動,因爲我不能理解如何使用payumBundle創建貝寶定期付款。我應該有2個不同的控制器的行動(1爲agreementDetails和1爲recurringPaymentDetails)或者它是相同的行動(那麼你如何初始化recurringPaymentDetails並將其鏈接到agreementDetails)?謝謝 – 2016-04-24 21:16:31

回答

1

你會想配置一個IPN solution。 PayPal會將數據發佈到您在任何時間進行交易時設置的偵聽器腳本。您可以更新您的數據庫,發送自定義電子郵件通知,點擊第三方網絡服務,或其他任何您可能想要基於付款,退款,新配置文件,暫停配置文件,糾紛等自動化。

您也可以使用TransactionSearch API並傳入ProfileID以獲取與該配置文件關聯的交易。