установил плагин для использования WP Access Ultimate. при попытке приобрести доступ на сайте с активным дополнением MultiPayeers плагин деактивируется. если отключить MultiPayeers, то плагин не деактивируется, но моментально слетают настройки в разделе Payment systems (shop id / secret key etc.) и выдается сообщение:
Error! Connection to payment aggregator not set.
отключение фискализации – в отличие от соседних тем – не помогает.
в логах яндекс кассы вот такая история:
HTTP код ответа 400 - Неправильный запрос. Чаще всего этот статус выдается из-за нарушения правил взаимодействия с API
ЗАПРОС
idempotence-key: '5ebe5867a607b2.43436797' content-type: 'application/json' { "amount": { "value": "10.00", "currency": "RUB" }, "description": "Приобретение аккаунта платного доступа \"ученик\"", "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://music.artsound.pro/recall-success/?ykapi=663545&payment-id=1589543575" }, "metadata": { "baggage": "eyJ0YXJpZmZfaWQiOjIsInBheV90eXBlIjoid2F1LXBheW1lbnQiLCJ1c2VyX2lkIjoxfQ==", "user_id": "1", "pay_type": "wau-payment", "pay_id": "1589543575" }, "capture": true }
ОТВЕТ
{ "type": "error", "id": "e7972eb7-88a0-4580-9ce4-8017f7a2f760", "code": "invalid_request", "description": "Receipt is missing or illegal", "parameter": "receipt" }
попробовал включать / отключать фискализацию на сайте – при включенной фискализации, действительно, ошибка в логах я.кассы не появляется. но независимо от того, включена ли фискализация, поведение YandexKassa API Gateway не меняется – при включенном MultiPayeers – YandexKassa деактивируется, при выключенном – слетают настройки.
извиняюсь, что не сразу добрался до логов самого WP Recall. при включенной фискализации там:
09:58:46 Fatal Error: Uncaught YandexCheckoutCommonExceptionsInvalidRequestException: Failed to build request "YandexCheckoutRequestPaymentsCreatePaymentRequest": "Both email and phone values are empty in receipt" in /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Common/AbstractRequestBuilder.php:75 Stack trace: #0 /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Request/Payments/CreatePaymentRequestBuilder.php(324): YandexCheckoutCommonAbstractRequestBuilder->build() #1 /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Client.php(221): YandexCheckoutRequestPaymentsCreatePaymentRequestBuilder->build(Array) #2 /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/index.php(214): YandexCheckoutClient->createPayment(Array, '5ebe67d64148a2....') #3 /home/p394732/www/music.artsound.pro/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php(257 in /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Common/AbstractRequestBuilder.php:75
при выключенной фискализации:
10:04:38 Fatal Error: Uncaught YandexCheckoutCommonExceptionsBadApiRequestException: Receipt is missing or illegal.Error code: invalid_request.Parameter name: receipt. in /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Client/BaseClient.php:301 Stack trace: #0 /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Client.php(235): YandexCheckoutClientBaseClient->handleError(Object(YandexCheckoutCommonResponseObject)) #1 /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/index.php(214): YandexCheckoutClient->createPayment(Object(YandexCheckoutRequestPaymentsCreatePaymentRequest), '5ebe69368eb402....') #2 /home/p394732/www/music.artsound.pro/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php(257): Rcl_API_Yandexkassa_Payment->pay_form(Object(Rcl_Payment)) #3 /home/p394732/www/music.artsound.pro/wp-content/plugins/wp-recall/add-on/user-balance/shortcodes.php(18): Rcl_Payment->get_form in /home/p394732/www/music.artsound.pro/wp-content/wp-recall/add-on/yandexkassa-api-gateway/lib/Client/BaseClient.php:301