2016-01-06 2 views
0

Когда я пытаюсь сделать предварительное одобрение, появляется это сообщение вместо того, чтобы показывать мне экран входа в Paypal. Обычно это более специфично, но теперь он просто говорит: «Один из необходимых параметров для подписки отсутствует», поэтомуОшибка Paypal 580029 Отсутствует один из необходимых параметров для подписки

Я хотел бы знать, какой параметр отсутствует ?. Связано ли это с идентификатором APP?

Он отлично работал в Песочнице, но когда вы живете, у меня есть эта ошибка.

предварительного разрешения адаптивного предварительного разрешения

Ошибка

PayPal\Types\AP\PreapprovalResponse Object 
[responseEnvelope] => PayPal\Types\Common\ResponseEnvelope Object 
    (
     [timestamp] => 2016-01-06T11:02:03.894-08:00 
     [ack] => Failure 
     [correlationId] => 4d382b98c6be4 
     [build] => 17820627 
    ) 

[preapprovalKey] => 
[error] => Array 
    (
     [0] => PayPal\Types\Common\ErrorData Object 
      (
       [errorId] => 580029 
       [domain] => PLATFORM 
       [subdomain] => Application 
       [severity] => Error 
       [category] => Application 
       [message] => One of the required parameters for subscription is missing 
       [exceptionId] => 
       [parameter] => Array 
        (
         [0] => PayPal\Types\Common\ErrorParameter Object 
          (
           [name] => 
           [value] => Subscription 
          ) 

        ) 

      ) 

    ) 

Запрос

PayPal\Types\AP\PreapprovalRequest Object 
[requestEnvelope] => PayPal\Types\Common\RequestEnvelope Object 
    (
     [detailLevel] => 
     [errorLanguage] => en_US 
    ) 

[clientDetails] => PayPal\Types\Common\ClientDetailsType Object 
    (
     [ipAddress] => 
     [deviceId] => 
     [applicationId] => MY_APP_NAME 
     [model] => 
     [geoLocation] => 
     [customerType] => 
     [partnerName] => 
     [customerId] => 
    ) 

[cancelUrl] => http://localhost/auction/create-auction/?post_new_step=1&projectid=181 
[currencyCode] => CAD 
[dateOfMonth] => 
[dayOfWeek] => 
[endingDate] => 2016-02-05Z 
[maxAmountPerPayment] => 
[maxNumberOfPayments] => 
[maxNumberOfPaymentsPerPeriod] => 1 
[maxTotalAmountOfAllPayments] => 1.5 
[paymentPeriod] => NO_PERIOD_SPECIFIED 
[returnUrl] => http://localhost/auction/?page_id=10&finalize=1&post_new_step=4&projectid=181 
[memo] => 
[ipnNotificationUrl] => 
[senderEmail] => 
[startingDate] => 2016-01-06Z 
[pinType] => 
[feesPayer] => 
[displayMaxTotalAmount] => 1 
[requireInstantFundingSource] => 
[sender] => 

ответ

1

Мы боролись с этой проблемой тоже, и, кажется, он приходит на в интернете совсем немного. К сожалению, документация PayPal перечисляет большинство полей как Необязательно, когда они не являются.

Какие поля на самом деле необязательны, зависит от типа предварительного одобрения, которое вы используете (есть подписка/одноразовый/по запросу), но ничто из этого не упоминается в PayPal API documentation.

Глядя на ваш запрос, я считаю, что одно поле вы также должны указать это maxAmountPerPayment, что в вашем случае будет такой же, как maxTotalAmountOfAllPayments

Хотя ошибка маскировочная, это на самом деле, сообщающее, что для типа Подписки для предварительного одобрения вам не хватает некоторых обязательных полей. Несомненно, эти обязательные поля не документированы. Если окажется, что maxAmountPerPayment не работает, моим советом было бы начать заполнять каждое поле и тестировать до тех пор, пока запрос не пройдет! Удачи.

2

Я только что испытал ту же проблему.

Я разрешил его, заполнив все поля «Макс *».

В моем случае у меня отсутствовало поле «maxNumberOfPaymentsPerPeriod».

успешно создал маркер утверждения для «одноразовых» оплат со следующей просьбой:

cancelUrl: "http://localhost:55182/Booking/InitialBookingRequest?StartDate=7/1/2016 1:15:00 AM&EndDate=7/1/2016 2:15:00 AM&ListingId=119295&bookingId=90802" string 
clientDetails: null 
currencyCode: "USD" 
dateOfMonth: null 
dayOfWeek: null 
displayMaxTotalAmount: null 
endingDate: "2016-07-15" 
feesPayer: null  
ipnNotificationUrl: "http://localhost:55182/home/handler" 
maxAmountPerPayment: 5.00  
maxNumberOfPayments: 1 
maxNumberOfPaymentsPerPeriod: 1 
maxTotalAmountOfAllPayments: 5.00  
memo: null  
paymentPeriod: null  
pinType: null  
requireInstantFundingSource: null  
returnUrl: "http://localhost:55182/booking/Success?StartDate=7/1/2016 1:15:00 AM&EndDate=7/1/2016 2:15:00 AM&ListingId=119295&bookingId=90802" string 
sender: null  
senderEmail: null 
startingDate: "2016-06-30"  
Смежные вопросы