$request = [
'language' => 'ru',
'currency' => 643,
'pageView' => 'MOBILE',
'orderNumber' => 'order1',
'amount' => 10 * 100,
'returnUrl' => 'http://store.com/order/order1',
'merchantLogin' => 'merchantId',
'jsonParams' => json_encode(
[
'email' => 'user@mail.com',
'phone' => '+79999999999',
'backToShopUrl' => 'http://store.com',
'backToShopName' => 'Назад в магазин',
]
),
'orderBundle' => json_encode(
[
'orderCreationDate' => '2021-03-14T12:59:00',
'customerDetails' => [
'email' => 'user@mail.com',
'phone' => '+79999999999',
'contact' => 'user',
'deliveryInfo' => [
'deliveryType' => 'delivery',
'country' => 'RU',
'city' => 'город',
'postAddress' => 'адрес',
],
],
'cartItems' => [
'items' => [
[
'positionId' => 1,
'name' => 'спички',
'quantity' => [
'value' => 1,
'measure' => 'шт.',
],
'itemPrice' => 10 * 100,
'itemAmount' => 10 * 1 * 100,
'itemCode' => 'артикул',
'itemCurrency' => 643,
],
],
],
'installments' => [
'productType' => 'INSTALLMENT',
'productID' => 10,
],
]
),
'userName' => 'login',
'password' => 'password',
'dummy' => 'true',
];
$url = 'https://3dsec.sberbank.ru/sbercredit/register.do?' . http_build_query($request);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type:application/json']);
$response = curl_exec($curl);
Чот как то не укладывается в голове это определение необходиости миграции!!?
Если это что-то типа записной книжки - оно может и автономно работать, сеть нужна только как бекап и центральное хранилище для синхронизации с другими девайсами.
А если это что-то связанное с деньгами или коммерческими сервисами - такое автономно работать в большинстве случаев не способно, т.к. для автономной работы потребуются закрытые данные, которые никто, в здравом уме, на клиент выгружать не будет.
Сама по себе поддержка автономности требует серьезных дополнительных затрат: больше логики, больше кода, синхронизации, и нередко еще с наворотами. Много чего нужно продумывать: часть сущностей могут быть полностью автономны, часть только частично, а часть вообще не могут быть автономны, и приложение должно учитывать взаимосвязь таких сущностей и ситуации когда они становятся недоступны полностью или частично - это целая гора логики.
Так что в большинстве случаев автономность не реализуют, если это не является основой функционала приложения. Максимум, так это хранят автономно какие-нибудь данные неавторизованных пользователей, короткое время, просто на случай если пользователь что-то сделает на сайте, важное для продаж, а потом зарегистрируется/авторизуется - например добавит товар в корзину или избранное/сравнение, что приближает его к моменту покупки, и потеря чего после авторизации может доставить негатива, что может стать поводом отказаться от покупки. Причем изрядная доля автономности таких сайтов обеспечивается браузерными кешами.