2015-09-08 3 views
0

Я занимаюсь разработкой веб-сайта, где у пользователя будет платный контент. В этом случае я использую подписку PayPal. Я успешно сделал подписку и хочу получить срок действия подписки. Я использую метод GetRecurringPaymentsProfileDetails для получения информации о подписке. Вот результат этого метода:
Как проверить PayPal истек срок действия подписки

`array (size=45) 
    'PROFILEID' => string 'I-DLUN4G0R3G0F' (length=14) 
    'STATUS' => string 'Active' (length=6) 
    'AUTOBILLOUTAMT' => string 'NoAutoBill' (length=10) 
    'DESC' => string 'Monthly subscription' (length=20) 
    'MAXFAILEDPAYMENTS' => string '3' (length=1) 
    'SUBSCRIBERNAME' => string 'blah-blah-blah' (length=14) 
    'PROFILESTARTDATE' => string '2015-09-08T07:00:00Z' (length=20) 
    'NEXTBILLINGDATE' => string '2015-09-08T10:00:00Z' (length=20) 
    'NUMCYCLESCOMPLETED' => string '0' (length=1) 
    'NUMCYCLESREMAINING' => string '0' (length=1) 
    'OUTSTANDINGBALANCE' => string '0.00' (length=4) 
    'FAILEDPAYMENTCOUNT' => string '0' (length=1) 
    'TRIALAMTPAID' => string '0.00' (length=4) 
    'REGULARAMTPAID' => string '0.00' (length=4) 
    'AGGREGATEAMT' => string '0.00' (length=4) 
    'AGGREGATEOPTIONALAMT' => string '0.00' (length=4) 
    'FINALPAYMENTDUEDATE' => string '1970-01-01T00:00:00Z' (length=20) 
    'TIMESTAMP' => string '2015-09-08T10:55:59Z' (length=20) 
    'CORRELATIONID' => string 'fb5da7dc8451f' (length=13) 
    'ACK' => string 'Success' (length=7) 
    'VERSION' => string '86.0' (length=4) 
    'BUILD' => string '17972692' (length=8) 
    'BILLINGPERIOD' => string 'Month' (length=5) 
    'BILLINGFREQUENCY' => string '1' (length=1) 
    'TOTALBILLINGCYCLES' => string '0' (length=1) 
    'CURRENCYCODE' => string 'GBP' (length=3) 
    'AMT' => string '9.99' (length=4) 
    'SHIPPINGAMT' => string '0.00' (length=4) 
    'TAXAMT' => string '0.00' (length=4) 
    'REGULARBILLINGPERIOD' => string 'Month' (length=5) 
    'REGULARBILLINGFREQUENCY' => string '1' (length=1) 
    'REGULARTOTALBILLINGCYCLES' => string '0' (length=1) 
    'REGULARCURRENCYCODE' => string 'GBP' (length=3) 
    'REGULARAMT' => string '9.99' (length=4) 
    'REGULARSHIPPINGAMT' => string '0.00' (length=4) 
    'REGULARTAXAMT' => string '0.00' (length=4) 
` 

Как вы можете видеть выше, у меня есть NEXTBILLINGDATE поле, и я подумал, что это то, что мне было нужно. Проблема в том, что в этом поле отображается неправильное время. Кажется, что NEXTBILLIGDATE должно быть примерно как 2015-10-08T07: 00: 00Z согласно моим REGULARBILLINGPERIOD и REGULARBILLINGFREQUENCY полям. Кроме того, может быть, кто-то знает, как протестировать истекшую подписку? Или как сделать истекшую подписку, есть ли какие-либо инструменты в песочнице PayPal ?. Надеюсь найти решение здесь. Спасибо

ответ

1

Первый заряд происходит в течение 24 часов после создания профиля в соответствии с документом, поэтому, если вы вызываете GetRecurringPaymentsProfileDetails перед первой загрузкой (например, сразу после успеха создания вызова), NEXTBILLINGDATE все равно будет начальной датой. Нет инструментов или API для истечения срока действия подписки в песочнице, вы можете создать ежедневную подписку и установить TOTALBILLINGCYCLES = 1, а на следующий день она просто закончится.