Как выйти из песочницы PayPal в python GAE?

Я могу запустить и протестировать свое приложение в режиме песочницыe, используя пример движка приложения Google, предоставленный PayPal. Теперь я хочу включить режим реального времени для тестирования реального платежа, когда режим песочницы работает. Я зарегистрировал приложение PayPal на www.x.com и заполнил следующие данные: введите описание изображения здесь

Моя бизнес-установка выглядит следующим образом: введите здесь описание изображения

Эти настройки выглядят так, как будто они могут работать в режиме реального времени, но, похоже, у меня неправильные настройки, так как я получаю сообщение об ошибке при попытке активировать режим реального времени:

ERROR    2012-01-02 07:29:49,973 webapp2.py:1528] 'payKey'
Traceback (most recent call last):
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/media/Lexar/montao/bnano-www/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/media/Lexar/montao/bnano-www/handler.py", line 531, in post
    (ok, pay) = self.start_purchase(item)
  File "/media/Lexar/montao/bnano-www/handler.py", line 570, in start_purchase
    purchase.paykey = pay.paykey()
  File "/media/Lexar/montao/bnano-www/paypal.py", line 81, in paykey
    return self.response['payKey']
KeyError: 'payKey'
INFO     2012-01-02 07:29:49,985 recording.py:372] Saved; key: __appstats__:088300, part: 132 bytes, full: 17070 bytes, overhead: 0.000 + 0.005; link: http://localhost:8080/_ah/stats/details?time=1325489388311
INFO     2012-01-02 07:29:50,015 dev_appserver.py:2753] "POST /buy/ag1kZXZ-Ym5hbm8td3d3cgsLEgRJdGVtGJwCDA/ HTTP/1.1" 500 -

Часть кода, которая может иметь значение,

  def paykey( self ):
    return self.response['payKey']

и, конечно, это не очень помогает, так что где я должен искать? Верен ли мой settings.py, когда я изменил его на следующее:

# settings for app

#PAYPAL_ENDPOINT = 'https://svcs.sandbox.paypal.com/AdaptivePayments/' # sandbox
PAYPAL_ENDPOINT = 'https://svcs.paypal.com/AdaptivePayments/' # production

#PAYPAL_PAYMENT_HOST = 'https://www.sandbox.paypal.com/au/cgi-bin/webscr' # sandbox
PAYPAL_PAYMENT_HOST = 'https://www.paypal.com/webscr' # production

PAYPAL_USERID = '[email protected]'#'niklas_1224389428_biz_api1.eddaconsult.se'
PAYPAL_PASSWORD = '<my-paypal-password>'#'13344842639'
PAYPAL_SIGNATURE = 'Al6HBBNk4bKFht2fR-p2FlAb2YAJFKl5p2MzHpo.QKYewU2btYPIm.'
PAYPAL_APPLICATION_ID = 'APP-9F666043V7920644G'#'APP-80W284485P519543T' # live 
PAYPAL_EMAIL = '[email protected]'#'[email protected]'

PAYPAL_COMMISSION = 0.2 # 20%

USE_CHAIN = False
USE_IPN = False
USE_EMBEDDED = False
SHIPPING = False # not yet working properly; PayPal bug

# EMBEDDED_ENDPOINT = 'https://paypal.com/webapps/adaptivepayment/flow/pay'
EMBEDDED_ENDPOINT = 'https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay'

API_ID = '8byQd46LwexZ'
TRANSACTION_KEY = '3a578UZJXnh6Aa25'

Любые другие идеи, откуда может появиться мое сообщение об ошибке?

Спасибо


person Niklas R.    schedule 02.01.2012    source источник
comment
Вы можете отредактировать эти снимки экрана и удалить любую личную информацию, включая идентификаторы приложений.   -  person Robert    schedule 02.01.2012
comment
Спасибо вам за помощь. Теперь это работает.   -  person Niklas R.    schedule 02.01.2012


Ответы (1)


Он не может получить payKey. И это не удается, потому что вы используете неправильные учетные данные:

PAYPAL_USERID = '[email protected]'#'niklas_1224389428_biz_api1.eddaconsult.se' PAYPAL_PASSWORD = '<my-paypal-password>'#'13344842639'

Измените это, чтобы вместо этого использовать имя пользователя и пароль API.

person Robert    schedule 02.01.2012
comment
Это работает теперь, когда я получил надлежащие учетные данные, но их было трудно найти. Большое спасибо за ответ. - person Niklas R.; 02.01.2012