Песочница PayPal — вызов CreateBillingAgreement возвращает внутреннюю ошибку (10001)

Я был бы признателен за любую помощь в этом, я бегал кругами, пробуя всевозможные комбинации с PayPal Api, но я натыкаюсь на кирпичную стену в этом.

Я пытаюсь вызвать метод CreateBillingAgreement, но каждый раз, когда я это делаю, он терпит неудачу и сообщает о «внутренней ошибке» 10001 от PayPal в ответе. У меня есть действительный токен, и я использую версию 84.0. Я успешно вызвал SetupExpressCheckout и DoExpressCheckout, оба из которых завершились успешно, и платеж прошел. Я настраиваю будущий платеж/предавторизацию на SetupExpressCheckout и пользователь соглашается, что никаких проблем.

Нужно ли менять настройки продавца в песочнице? Может быть, я называю вещи в неправильном порядке? (SetExpress, GetExpress, DoExpress, CreateBilling)?

Я собираюсь использовать это соглашение о выставлении счетов, чтобы в будущем разрешить эталонную транзакцию. У меня есть тестовая учетная запись «оплата» с использованием PayPal и без пересылки данных кредитной карты, оплата производится за цифровую услугу без доставки (доставка не установлена, адреса или стоимость доставки не задействованы). Общая цель состоит в том, чтобы предоставить кнопку повторного заказа одним нажатием, при этом покупателю не нужно вводить никаких деталей.

Я использую API С# в asp.net 4, или, точнее, я создал ссылки на службы из песочницы PayPal wsdl, и я использую их в asp.net.

Любая помощь приветствуется - спасибо.

Рассел.


person HonkIfYouLikeChips    schedule 26.01.2012    source источник


Ответы (1)


Вам не нужно вызывать CreateBillingAgreement, если вы указываете тип биллинга MerchantInitiatedBilling в вызове API SetExpressCheckout и DoExpressCheckoutPayment. CreateBillingAgreement необходимо только в том случае, если вы не хотите вызывать DoExpressCheckoutPayment.
Если установлено MerchantInitiatedBilling, DoExpressCheckoutPayment уже вернет идентификатор соглашения о выставлении счетов, который вы можете использовать в DoReferenceTransaction.

У меня нет доступа к примеру под рукой, но я обновлю этот пост, как только найду его для вас.

person Robert    schedule 26.01.2012
comment
Идеально - большое спасибо. Я не получил идентификатор соглашения о выставлении счетов в ответе do, но тогда я не установил MerchantInitiatedBilling! :) еще раз спасибо Роберт. - person HonkIfYouLikeChips; 27.01.2012