Неверный запрос на предварительное одобрение Paypal

Я пытаюсь поиграть с предварительным одобрением от Adaptive Payments. В частности, чтобы выполнить четыре шага из документация по предварительному утверждению.

Я застрял на Step 1: Set Up the Preapproval с командой curl:

$ curl -s --insecure \
  -H "X-PAYPAL-SECURITY-USERID: myuserid.gmail.com" \
  -H "X-PAYPAL-SECURITY-PASSWORD: mypass" \
  -H "X-PAYPAL-SECURITY-SIGNATURE: mysignaturestring" \
  -H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
  -H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
  -H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T" \
https://svcs.sandbox.paypal.com/AdaptivePayments/Preapproval  -d \
  "cancelUrl=http://www.yourdomain.com/cancel.html
  &currencyCode=USD
  &endingDate=2014-09-10T22:00:00Z
  &maxAmountPerPayment=200.00
  &maxNumberOfPayments=30
  &maxTotalAmountOfAllPayments=1500.00
  &pinType=NOT_REQUIRED
  &requestEnvelope.errorLanguage=en_US
  &returnUrl=http://www.yourdomain.com/success.html
  &startingDate=2014-08-10T22:00:00Z"

Вместо preapprovalKey я получаю сообщение об ошибке. Я знаю, что что-то не так с данными, которые я отправляю, но я не могу понять, что:

esponseEnvelope.timestamp=2014-08-05T01:24:55.289-07:00
&responseEnvelope.ack=Failure
&responseEnvelope.correlationId=7c6db7beda57a
&responseEnvelope.build=11853342
&error(0).errorId=580001
&error(0).domain=PLATFORM
&error(0).subdomain=Application
&error(0).severity=Error
&error(0).category=Application
&error(0).message=Invalid request: Data validation warning(line -1, col 0): 2014-09-10T22:00:00Z
&error(0).parameter(0)=Data validation warning(line -1, col 0): 2014-09-10T22:00:00Z

Обратите внимание, что:

  • мои учетные данные API в порядке, я успешно протестировал их на Express Checkout из документация
  • some fields are according to documentation while others are exactly like in the docs copy pasted:
    • startingDate is in the future, the docs say to not be today's date (the date of the post) or after end date.
    • endingDate - startingDate - это один месяц, меньше года, как говорится в документах.
    • Я также пытался использовать https://apigee.com/console/paypal на случай, если я делал что-то неправильно с завиток

person Andrei-Niculae Petre    schedule 05.08.2014    source источник


Ответы (1)


Черт, я понял это из-за моего отступа на SO, чтобы он выглядел красиво для вас, ребята. Это из-за того, что пробел входит (\n) в -d \ "cancelUrl=... &currencyCode=USD & ...".

Спасибо, поэтому правильный для справки здесь:

$ curl -s --insecure \
  -H "X-PAYPAL-SECURITY-USERID: myuserid.gmail.com" \
  -H "X-PAYPAL-SECURITY-PASSWORD: mypass" \
  -H "X-PAYPAL-SECURITY-SIGNATURE: mysignaturestring" \
  -H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
  -H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
  -H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T" \
https://svcs.sandbox.paypal.com/AdaptivePayments/Preapproval  -d \
  "cancelUrl=http://www.yourdomain.com/cancel.html&currencyCode=USD&endingDate=2014-09-10T22:00:00Z&maxAmountPerPayment=200.00&maxNumberOfPayments=30&maxTotalAmountOfAllPayments=1500.00&pinType=NOT_REQUIRED&requestEnvelope.errorLanguage=en_US&returnUrl=http://www.yourdomain.com/success.html&startingDate=2014-08-10T22:00:00Z"
person Andrei-Niculae Petre    schedule 05.08.2014