WooCommerce Руководство по плагину оплаты в Индонезии

WooCommerce Руководство по плагину оплаты в Индонезии

Обзор основных методов оплаты в Индонезии

На индонезийском рынке сайты WooCommerce должны поддерживать следующие основные способы оплаты:

  1. банковский перевод: Прямые переводы из местных банков, таких как Mandiri, BCA, BNI и др.
  2. электронный кошелек (например, для денег): OVO, DANA, LinkAja
  3. Платежи в магазинах бытовой техники: офлайн-платежи Indomaret и Alfamart
  4. Кредитные/дебетовые карты: Карты Visa/Mastercard местного выпуска
  5. рассрочка: Akulaku et al.

Рекомендуемые решения для плагинов WooCommerce

1. Midtrans (наиболее комплексное решение)

  • Поддерживает почти все местные способы оплаты в Индонезии
  • Предоставляет официальный плагин WooCommerce (ссылка для скачивания)
  • Особенности:
    • Интеграция OVO/DANA/LinkAja
    • Встречные платежи Indomaret/Alfamart
    • BCA KlikPay/Mandiri ClickPay и другие интерфейсы интернет-банкинга

2. Платежный шлюз Xendit

  • Плагин Xendit WooCommerce
  • Каналы поддержки:
    • Электронные кошельки OVO и DANA
    • Alfamart/Indomaret Convenience Store Payment Code Generator - это мощно!

3. DOKU для WooCommerce

Технические моменты API Docking (Справочник разработчика)

// Пример фрагмента кода базовой конфигурации Midtrans (добавить в functions.php) 
add_filter('woocommerce_payment_gateways', 'add_midtrans_gateway');
function add_midtrans_gateway($methods) {
$methods[] = 'WC_Gateway_Midtrans';
return $methods.
}

// Пример обработки обратных вызовов Xendit
add_action('woocommerce_api_wc_xendit_callback', 'xendit_callback_handler');
function xendit_callback_handler() {
// Проверяем подпись и обрабатываем логику обновления статуса заказа...
}

Рекомендации по соответствию требованиям PCI и безопасности

  1. Требования сертификации SAQ A применимы к большинству интегрированных шлюзов сторонних производителей
  2. SSL-сертификаты должны быть действительными и обновленными
  3. CVV/CVC не должны храниться на сервере продавца

Часто задаваемые вопросы

В: Код платежа, сгенерированный Indomaret, не может быть отсканирован покупателями?
→ Убедитесь, что опция "хранить код оплаты" включена, и убедитесь, что размер QR-кода достаточно велик!

В: Сделки OVO всегда отложены?
→ Убедитесь, что вы правильно настроили API-ключ OVO и включили канал в бэкенде Midtrans/XENDIT.

Для получения более подробной документации по внедрению посетите портал разработчиков каждого поставщика услуг, чтобы ознакомиться с последними версиями SDK и спецификациями.

# Руководство по взаимодействию WooCommerce с плагином Indonesia Payment Plugin (продолжение)

Углубленная настройка и оптимизация

1. локализованные настройки валюты и языка
- Обязательные расчеты в индонезийских рупиях (IDR):
"`php
// Добавьте следующее в файл functions.php темы
add_filter('woocommerce_currency', function() {
return 'IDR';
});
“`
- Поддержка нескольких языков: рекомендуется установить плагин WPML или Polylang, чтобы убедиться, что на странице оплаты есть возможность выбора индонезийского языка!

2. Глубокая настройка конкретных каналов оплаты

Специальные настройки OVO eWallet:
- Бэкэнд Midtrans должен быть включен отдельно для производственного режима OVO (белые номера только в тестовом режиме).
- Для Xendit требуется дополнительный идентификатор OVO Merchant ID.

Оплата на стойке Alfamart/Indomaret:
"`php
// Настройте инструкции по оплате в магазине (пример)
add_filter('midtrans_indomaret_instructions', function($instructions) {
return "Предъявите этот код на стойке Indomaret в течение 24 часа“;
});
“`

3. Особое отношение со стороны банка Mandiri
Требуется Mandiri ClickPay:
1. `тип_платежа` установлен на `mandiri_clickpay`
2. Ключ сервера должен использовать ключ API v2.
3. URL-адреса обратного вызова IPN должны быть заполнены на стороне банка

API Advanced Integration Solution

Пример кода безопасной аутентификации Webhook (версия Midtrans):

"`php
функция verify_midtrans_signature($request) {
$server_key = YOUR_SERVER_KEY;
$signature_key = $request['signature_key'];

unset($request['signature_key']);

ksort($request).
$string_to_hash = implode("", array_map(function ($v, $k) {
return "$k$v";
}, array_values($request), array_keys($request)))).

return hash('sha512', $string_to_hash . $server_key) === $signature_key;
}
“`

Предложения по оптимизации пользовательского интерфейса/UX

1. Дизайн, ориентированный на мобильные устройства: в Индонезии 90% трафика электронной коммерции поступает с мобильных телефонов, чтобы обеспечить:
- Кнопка OVO/DANA размером не более 48x48px
- QR-код Alfamart автоматически адаптируется к ширине экрана

2. Пошаговый пользовательский интерфейс руководства по оплате (можно добавить CSS).
"`css
/* Локальная группировка способов оплаты на странице оформления заказа WooCommerce */
.payment_methods li[id*="midtrans"] label img,
.payment_methods li[id*="xendit"] label img {
max-height:30px !important;
}
“`

Требования к соблюдению KYC Особое внимание

Внимание необходимо в соответствии с Постановлением Банка Индонезии № X:

1. Контроль предельных значений транзакций:
- Единый электронный кошелек ≤ 10,000,000 IDR
- Банковский перевод ≤250,000,000 IDR в день в совокупности

2. процесс аутентификации клиента (для транзакций на сумму свыше 5 млн НРД):
"javascript
// JS front-end для сбора налоговых кодов (NPWP)
jQuery(document).on('change','#billing_country',function(){
if(jQuery(this).val() === 'ID'){
jQuery('#npwp_field').show().attr('required',true); }
});
“`

Рекомендации по настройке CDN и производительности (для индонезийской сетевой среды)

| Провайдеры CDN | Количество узлов в Джакарте | Количество узлов в Сурабайе | Количество узлов в Макассаре |
|———–|————–|—————|—————-|
| Akamai | 8 | 4 | 2 |
| Cloudflare | 12 | 6 | 3 |

Рекомендуемая конфигурация:
В `wp-config.php` добавьте.
"`php
define('WP_CACHE_KEY_SALT','yourdomain_id'); // Идентификаторы разделов кэша ускоряют определение CDN региональных характеристик трафика...
“`

Для получения более подробной информации о технической реализации конкретного канала оплаты или при возникновении конкретной проблемы с кодом ошибки вы можете предоставить более конкретное описание сценария, чтобы продолжить обсуждение.