установил плагин для использования 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