1

我正确设置了我的网站以支持使用 paypal 定期计费的帐户年度订阅付款payum bundle

这些是我的网站在准备时发送到贝宝的参数

    $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';

这些在经常性请求中

    $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;

一切正常。

我的问题是我只想知道我的客户的经常性付款是否会被接受和支付。而且,如果我的客户没有支付年费。

我的意思是,如何知道(服务器端,php)特定帐户的最后一次成功付款日期?

4

1 回答 1

1

您需要配置IPN 解决方案。PayPal 将在交易发生时将数据发布到您设置的侦听器脚本。您可以根据付款、退款、新配置文件、暂停配置文件、争议等更新您的数据库、发送自定义电子邮件通知、点击第 3 方网络服务或您可能想要自动化的任何其他操作。

您还可以使用TransactionSearch API并传入 ProfileID 来获取与该配置文件关联的交易。

于 2014-10-19T23:47:28.577 回答