Добрый день!
Необходимо сделать подписку на сайте. Параметры: тестовый период(платный), затем фиксированная сумма каждый месяц.
Пытаюсь делать через NVP используя метод setExpressCheckout.
Все время получаю ответ Authorazing To - Pending. Мб кто то подскажет алгоритм и параметры?
Код метода setExpressCheckOut:
protected function setExpressCheckout($plan){
$params=array(
'AMT'=>$plan['month_cost'],
'TRIALBILLINGPERIOD' => 'Month',
'TRIALBILLINGFREQUENCY'=>$plan['initial_period'],
'TRIALAMT'=>$plan['instant_cost'],
'TRIALTOTALBILLINGCYCLES'=>'1',
'PAYMENTACTION'=>urlencode('Authorization'),
'RETURNURL' => $this->base_url.'/paypal/success',
'CANCELURL' => $this->base_url.'/paypal',
'CURRENCYCODE' => urlencode('GBP'),
'L_BILLINGTYPE0' => urlencode('RecurringPayments'),
'L_BILLINGAGREEMENTDESCRIPTION0' => 'Test Descr',
'DESC' => 'Test descr',
'NOTIFYURL' => 'http://mysite/ipn.php',
'L_PAYMENTTYPE0' => 'Any'
);
$this->_paypal->addFields($params);
$response = $this->_paypal->request('SetExpressCheckout');
$this->setText($response,'SetExpressCheckout');
if (strtoupper($response['ACK'])=='SUCCESS'){
$token=urldecode($response['TOKEN']);
header('Location: '.$this->_paypal->getPaypalUrl().'?cmd=_express-checkout&token='.urlencode($token));
return true;
} else {
return false;
}
}
ответ от этого метода приходит SUCCESS, а вот когда выполняю DoExpressCheckoutPayment, тогда и появляются ошибки.
Request by date: 12-02-22 16:10:22
-SetExpressCheckout Method
TOKEN = EC-7CL28053XY439802M
TIMESTAMP = 2012-02-22T16:13:23Z
CORRELATIONID = 31dcc3f48ba98
ACK = Success
VERSION = 85.0
BUILD = 2571254
End of request
Request by date: 12-02-22 16:10:45
-getExpressCheckoutDetails Method
TOKEN = EC-7CL28053XY439802M
BILLINGAGREEMENTACCEPTEDSTATUS = 1
CHECKOUTSTATUS = PaymentActionNotInitiated
TIMESTAMP = 2012-02-22T16:13:46Z
CORRELATIONID = 8c1e9e707da9
ACK = Success
VERSION = 85.0
BUILD = 2571254
EMAIL = ''
PAYERID = 8CL5BPHU3SD2J
PAYERSTATUS = verified
FIRSTNAME = Barton
LASTNAME = SandboxTest
COUNTRYCODE = GB
SHIPTONAME = Barton SandboxTest
SHIPTOSTREET = 1 Main Terrace
SHIPTOCITY = Wolverhampton
SHIPTOSTATE = West Midlands
SHIPTOZIP = W12 4LQ
SHIPTOCOUNTRYCODE = GB
SHIPTOCOUNTRYNAME = United Kingdom
ADDRESSSTATUS = Confirmed
CURRENCYCODE = GBP
AMT = 10.00
SHIPPINGAMT = 0.00
HANDLINGAMT = 0.00
TAXAMT = 0.00
DESC = Jobcentrepod membership payment
NOTIFYURL = http://mysite/ipn.php
INSURANCEAMT = 0.00
SHIPDISCAMT = 0.00
PAYMENTREQUEST_0_CURRENCYCODE = GBP
PAYMENTREQUEST_0_AMT = 10.00
PAYMENTREQUEST_0_SHIPPINGAMT = 0.00
PAYMENTREQUEST_0_HANDLINGAMT = 0.00
PAYMENTREQUEST_0_TAXAMT = 0.00
PAYMENTREQUEST_0_DESC = Jobcentrepod membership payment
PAYMENTREQUEST_0_NOTIFYURL = http://mysite/ipn.php
PAYMENTREQUEST_0_INSURANCEAMT = 0.00
PAYMENTREQUEST_0_SHIPDISCAMT = 0.00
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED = false
PAYMENTREQUEST_0_SHIPTONAME = Barton SandboxTest
PAYMENTREQUEST_0_SHIPTOSTREET = 1 Main Terrace
PAYMENTREQUEST_0_SHIPTOCITY = Wolverhampton
PAYMENTREQUEST_0_SHIPTOSTATE = West Midlands
PAYMENTREQUEST_0_SHIPTOZIP = W12 4LQ
PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE = GB
PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME = United Kingdom
PAYMENTREQUESTINFO_0_ERRORCODE = 0
End of request
Request by date: 12-02-22 16:10:51
-doExpressCheckoutPayment Method
TOKEN = EC-7CL28053XY439802M
SUCCESSPAGEREDIRECTREQUESTED = false
TIMESTAMP = 2012-02-22T16:13:52Z
CORRELATIONID = a32227e3b47dd
ACK = Success
VERSION = 85.0
BUILD = 2571254
TRANSACTIONID = 2EL442664K4730113
TRANSACTIONTYPE = expresscheckout
PAYMENTTYPE = instant
ORDERTIME = 2012-02-22T16:13:50Z
AMT = 10.00
TAXAMT = 0.00
CURRENCYCODE = GBP
PAYMENTSTATUS = Pending
PENDINGREASON = authorization
REASONCODE = None
PROTECTIONELIGIBILITY = Eligible
INSURANCEOPTIONSELECTED = false
SHIPPINGOPTIONISDEFAULT = false
PAYMENTINFO_0_TRANSACTIONID = 2EL442664K4730113
PAYMENTINFO_0_TRANSACTIONTYPE = expresscheckout
PAYMENTINFO_0_PAYMENTTYPE = instant
PAYMENTINFO_0_ORDERTIME = 2012-02-22T16:13:50Z
PAYMENTINFO_0_AMT = 10.00
PAYMENTINFO_0_TAXAMT = 0.00
PAYMENTINFO_0_CURRENCYCODE = GBP
PAYMENTINFO_0_PAYMENTSTATUS = Pending
PAYMENTINFO_0_PENDINGREASON = authorization
PAYMENTINFO_0_REASONCODE = None
PAYMENTINFO_0_PROTECTIONELIGIBILITY = Eligible
PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE = ItemNotReceivedEligible,UnauthorizedPaymentEligible
PAYMENTINFO_0_SECUREMERCHANTACCOUNTID = TFYZQRNHWN5RG
PAYMENTINFO_0_ERRORCODE = 0
PAYMENTINFO_0_ACK = Success
End of request
Request by date: 12-02-22 16:10:55
-createRecuringPaymentsProfile Method
PROFILEID = I-RUG8UASK1AV9
PROFILESTATUS = ActiveProfile
TIMESTAMP = 2012-02-22T16:13:56Z
CORRELATIONID = 709c4b6b47069
ACK = Success
VERSION = 85.0
BUILD = 2571254
End of request
Мб я изначально не правильную стратегию выбрал. Сейчас использую с офф сайта <a href='https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECRecurringPayments'>PayPal</a>
Подскажите кто что знает плз
задан
22 Фев 19:19
Barton
1.1k●3
85% принятых
неужели никто не знает как создавать подписку? или тут только мастера поучить начинающих?