{"id":344058,"date":"2026-07-23T08:01:14","date_gmt":"2026-07-23T08:01:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aulaa-for-woocommerce\/"},"modified":"2026-10-28T07:50:27","modified_gmt":"2026-10-28T07:50:27","slug":"aulaa-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/aulaa-for-woocommerce\/","author":23536634,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.2","stable_tag":"2.2.2","tested":"7.0.7","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Aulaa for WooCommerce","header_author":"Aulaa (PT Antika Teknologi Finansial)","header_description":"Terima pembayaran QRIS, Virtual Account, e-wallet, dan retail lewat Aulaa Payment Link di WooCommerce. Pelanggan memilih metode di halaman pembayaran Aulaa.","assets_banners_color":"143a5a","last_updated":"2026-10-28 07:50:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/aulaa.co\/woocommerce","header_author_uri":"https:\/\/aulaa.co\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":637,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"aulaa","date":"2026-08-28 15:16:01","revision":3670604},"2.0.0":{"tag":"2.0.0","author":"aulaa","date":"2026-09-07 09:09:56","revision":3684520},"2.0.1":{"tag":"2.0.1","author":"aulaa","date":"2026-09-08 00:44:25","revision":3685768},"2.0.2":{"tag":"2.0.2","author":"aulaa","date":"2026-09-17 05:34:50","revision":3699592},"2.0.4":{"tag":"2.0.4","author":"aulaa","date":"2026-09-17 05:59:41","revision":3699605},"2.0.5":{"tag":"2.0.5","author":"aulaa","date":"2026-09-17 06:39:39","revision":3699624},"2.0.6":{"tag":"2.0.6","author":"aulaa","date":"2026-09-18 01:05:00","revision":3701158},"2.1.0":{"tag":"2.1.0","author":"aulaa","date":"2026-10-14 02:39:14","revision":3745187},"2.2.0":{"tag":"2.2.0","author":"aulaa","date":"2026-10-28 07:06:10","revision":3770051},"2.2.1":{"tag":"2.2.1","author":"aulaa","date":"2026-10-28 07:22:17","revision":3770079},"2.2.2":{"tag":"2.2.2","author":"aulaa","date":"2026-10-28 07:50:27","revision":3770129}},"upgrade_notice":{"2.0.6":"<p>Menghadirkan mode &quot;Pisahkan per Metode&quot; (Individual Gateways) agar setiap saluran pembayaran (QRIS, VA Bank, E-Wallet, Retail) tampil mandiri di checkout WooCommerce tanpa pilihan bersarang, serta tampilan grid kartu modern untuk mode satu gateway. Sangat disarankan untuk memperbarui.<\/p>","2.0.5":"<p>Pembaruan tampilan pemilihan metode pembayaran langsung di halaman checkout dengan logo bank dan e-wallet resmi. Sangat disarankan untuk memperbarui.<\/p>","2.0.4":"<p>Perbaikan penting untuk pemrosesan webhook agar status order selalu tersimpan ke database sebelum koneksi ditutup (mencegah status pesanan tetap pending di server LiteSpeed\/FastCGI). Sangat disarankan untuk memperbarui.<\/p>","2.0.2":"<p>Perbaikan penting untuk konflik permission\/menu admin WooCommerce dan Meta WhatsApp, serta pembaruan tautan dokumentasi. Sangat disarankan untuk memperbarui.<\/p>","2.0.1":"<p>Perbaikan penting untuk semua pengguna 2.0.0: memperbaiki status refund yang tidak pernah diterapkan, fatal error yang dapat dipicu pengguna login, halaman checkout yang menggantung saat API tidak dapat dihubungi, dan pembayaran yang tidak terekonsiliasi setelah pemulihan 409. Sangat disarankan untuk memperbarui.<\/p>","2.0.0":"<p>Pembaruan besar v2.0.0: Menghadirkan fitur Langganan Berulang (Recurring Subscriptions), sinkronisasi pembatalan otomatis (Cancel API), pemilihan metode langsung di checkout, fallback QR\/VA di halaman Thank You, dan auto-polling setiap 10 menit.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3693297,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693297,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693297,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693297,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","2.0.0","2.0.1","2.0.2","2.0.4","2.0.5","2.0.6","2.1.0","2.2.0","2.2.1","2.2.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[10228,6593,230441,230440,286],"plugin_category":[45],"plugin_contributors":[272930],"plugin_business_model":[],"class_list":["post-344058","plugin","type-plugin","status-publish","hentry","plugin_tags-indonesia","plugin_tags-payment-gateway","plugin_tags-qris","plugin_tags-virtual-account","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-aulaa","plugin_committers-aulaa"],"banners":{"banner":"https:\/\/ps.w.org\/aulaa-for-woocommerce\/assets\/banner-772x250.png?rev=3693297","banner_2x":"https:\/\/ps.w.org\/aulaa-for-woocommerce\/assets\/banner-1544x500.png?rev=3693297","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aulaa-for-woocommerce\/assets\/icon-128x128.png?rev=3693297","icon_2x":"https:\/\/ps.w.org\/aulaa-for-woocommerce\/assets\/icon-256x256.png?rev=3693297","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><a href=\"https:\/\/aulaa.co\/?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Aulaa<\/a> is an Indonesian payment gateway that lets any business accept QRIS, Virtual Account, e-wallet and retail (Alfamart\/Indomaret) payments from one merchant account, with payouts to 114+ Indonesian banks. This plugin connects your WooCommerce store to it.<\/p>\n\n<p>This plugin integrates Aulaa as a payment method in WooCommerce. When a customer checks out, a payment link is created in Aulaa and the customer is taken to it, where they pick a payment method (QRIS, GoPay, ShopeePay, bank Virtual Account, Alfamart\/Indomaret, etc.) and follow the payment instructions. Aulaa then returns them to the order page. Aulaa is a payment link provider, so your store never receives or stores raw payment credentials such as Virtual Account numbers or QRIS payloads \u2014 only the link. Order status is set solely by Aulaa's webhook and by the plugin's own status polling, never by the customer's browser.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Supports both classic checkout (shortcode) and Checkout Blocks (React).<\/li>\n<li><strong>Multi-Currency Support:<\/strong> Stores operating in foreign currencies (USD, SGD, EUR, JPY, MYR, AUD, etc.) can accept payments via Aulaa. Order totals are automatically converted to Rupiah (IDR) before creating the invoice.<\/li>\n<li><strong>Flexible Exchange Rate Modes:<\/strong> Choice between Manual Fixed Rates (default, merchant-controlled) with friendly human-readable format, or automated daily live rates with built-in sanity checks, circuit breakers, and automatic fallback.<\/li>\n<li><strong>Configurable Markup Buffer (%):<\/strong> Protects merchants against market volatility and foreign exchange conversion costs.<\/li>\n<li><strong>Direct Checkout Payment Method Selection:<\/strong> Optionally let customers pick a specific payment method (QRIS, BCA VA, BRI VA, Mandiri VA, BNI VA, E-Wallets, Retail, etc.) directly on the checkout page using Aulaa's live methods API (<code>GET \/v1\/payments\/methods<\/code>).<\/li>\n<li><strong>Order Cancellation Synchronization:<\/strong> Automatically cancels pending invoices at Aulaa (<code>POST \/v1\/payments\/{id}\/cancel<\/code>) when an order is cancelled in WooCommerce.<\/li>\n<li><strong>Self-Updating Order Status:<\/strong> After paying, the customer lands back on the Order Received page, which reports the new order status as soon as a webhook or the plugin's status polling confirms the payment \u2014 no manual refresh, and the browser never decides the status.<\/li>\n<li><strong>409 Conflict Smart Recovery:<\/strong> Automatically recovers from network dropouts during checkout by retrieving the existing invoice <code>payment_id<\/code> without failing customer checkouts.<\/li>\n<li><strong>Refund Status Support:<\/strong> Automatically marks orders as refunded when a refund is processed in Aulaa.<\/li>\n<li><strong>Sandbox Simulation Tools:<\/strong> Quick links to the Aulaa payment simulator from the WordPress admin order page.<\/li>\n<li><strong>Recurring Subscriptions Engine:<\/strong> Built-in subscription manager for periodic billing. Set products as recurring (daily, weekly, monthly, yearly), automatically generate renewal orders and invoices on due dates via Action Scheduler, and notify customers via email with direct Aulaa payment links.<\/li>\n<li><strong>Customer Subscription Portal:<\/strong> Customers can view and manage their subscriptions, view due dates, pay pending renewal invoices, and cancel subscriptions directly in WooCommerce My Account.<\/li>\n<li><strong>Admin Subscription Management:<\/strong> Full admin dashboard under WooCommerce \u2192 Langganan Aulaa with cycle tracking, notes history, manual bill now actions, and status controls.<\/li>\n<li><strong>Background Auto-Polling:<\/strong> Automatically queries Aulaa's API every 10 minutes via Action Scheduler for pending orders to reconcile payments if webhooks are delayed or blocked.<\/li>\n<li>HPOS (High-Performance Order Storage) compatible.<\/li>\n<li>HMAC-SHA256 webhook verification \u2014 fraudulent notifications are rejected.<\/li>\n<li>Idempotent: duplicate notifications do not process an order twice.<\/li>\n<li>\"Check payment status at Aulaa\" button on the order edit page (manual reconciliation if a webhook is delayed or missing).<\/li>\n<li>Optional debug logging to WooCommerce \u2192 Status \u2192 Logs (source \"aulaa\").<\/li>\n<li>Transaction limits: Rp1.000 - Rp500.000.000 per invoice.<\/li>\n<\/ul>\n\n<p>This plugin is a bridge to the <a href=\"https:\/\/aulaa.co\/?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Aulaa payment gateway<\/a>. You need an active Aulaa merchant account with an API Key and Webhook Secret from your project.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/aulaa.co\/sign-up?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Create a free Aulaa account<\/a> - no monthly fee, pay per transaction.<\/li>\n<li><a href=\"https:\/\/aulaa.co\/biaya?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Transaction fees and pricing<\/a><\/li>\n<li><a href=\"https:\/\/aulaa.co\/dokumentasi?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">API documentation for developers<\/a> and <a href=\"https:\/\/aulaa.co\/panduan?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">step-by-step guides<\/a><\/li>\n<li><a href=\"https:\/\/aulaa.co\/woocommerce?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">WooCommerce integration guide<\/a><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the external <a href=\"https:\/\/aulaa.co\/?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Aulaa payment gateway<\/a> service at https:\/\/aulaa.co to process online transactions.<\/p>\n\n<ul>\n<li><strong>Service Purpose:<\/strong> Create payment invoices, generate checkout redirect links (QRIS, Virtual Account, e-wallets, retail outlets), and query payment statuses for WooCommerce orders.<\/li>\n<li><strong>Data Sent &amp; When:<\/strong> When a customer clicks \"Place Order\" using Aulaa, the plugin sends order details (Order ID, total amount in IDR, customer name, customer email) and store callback\/redirect URLs to Aulaa API (<code>https:\/\/api.aulaa.co\/v1<\/code> or configured base URL). Order status query requests are also sent to Aulaa when checking payment status in WordPress Admin.<\/li>\n<li><strong>Service Provider:<\/strong> Aulaa (PT Antika Teknologi Finansial).<\/li>\n<li><strong>Terms of Service:<\/strong> <a href=\"https:\/\/aulaa.co\/terms-of-service\">aulaa.co\/terms-of-service<\/a><\/li>\n<li><strong>Privacy Policy:<\/strong> <a href=\"https:\/\/aulaa.co\/privacy-policy\">aulaa.co\/privacy-policy<\/a><\/li>\n<\/ul>\n\n<p>This plugin can optionally connect to ExchangeRate-API (open.er-api.com) when the automatic currency conversion mode is enabled by the merchant.<\/p>\n\n<ul>\n<li><strong>Service Purpose:<\/strong> Fetch daily foreign exchange rates to convert non-IDR currencies (e.g., USD, SGD, EUR, JPY) to IDR for stores operating in foreign currencies.<\/li>\n<li><strong>Data Sent &amp; When:<\/strong> Only sent when \"Automatic Exchange Rate API\" mode is explicitly enabled by the store administrator. The server sends an HTTP GET request to <code>https:\/\/open.er-api.com\/v6\/latest\/IDR<\/code> once every 12 hours. No customer data, order details, or personal data is ever transmitted.<\/li>\n<li><strong>Service Provider:<\/strong> ExchangeRate-API (https:\/\/www.exchangerate-api.com)<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/www.exchangerate-api.com\/terms<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/www.exchangerate-api.com\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li><a href=\"https:\/\/aulaa.co\/sign-up?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Create an Aulaa merchant account<\/a> if you do not have one yet, then create a project in the Aulaa dashboard.<\/li>\n<li>Upload the <code>aulaa-for-woocommerce<\/code> folder to <code>wp-content\/plugins\/<\/code>, or install via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin from the Plugins menu.<\/li>\n<li>Go to WooCommerce \u2192 Settings \u2192 Payments \u2192 Aulaa (or click \"Settings\" in the plugin list).<\/li>\n<li>Enable the gateway and fill in:\n\n<ul>\n<li><strong>API Key<\/strong> \u2014 from your <a href=\"https:\/\/aulaa.co\/?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Aulaa dashboard<\/a> \u2192 Project.<\/li>\n<li><strong>Webhook Secret<\/strong> \u2014 from the same Aulaa project.<\/li>\n<\/ul><\/li>\n<li>Copy the <strong>Callback \/ Webhook URL<\/strong> displayed on the settings page and paste it as the Callback URL in your Aulaa project.<\/li>\n<li>Make sure the WooCommerce store currency is set to <strong>IDR<\/strong> (or enable \"Konversi Mata Uang\" under Multi-Currency settings if your store uses USD, SGD, EUR, JPY, etc.).<\/li>\n<\/ol>\n\n<p>Sandbox vs. Live mode is controlled by the project mode in the Aulaa dashboard, not by the plugin. A walkthrough with screenshots is available at <a href=\"https:\/\/aulaa.co\/panduan?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">aulaa.co\/panduan<\/a>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20aulaa%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need an Aulaa account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes. The plugin is a bridge to the Aulaa payment gateway, so payments are processed by Aulaa. <a href=\"https:\/\/aulaa.co\/sign-up?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">Create a merchant account at aulaa.co<\/a>, open a project, then copy its API Key and Webhook Secret into the plugin settings. Fees are listed on the <a href=\"https:\/\/aulaa.co\/biaya?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">pricing page<\/a>.<\/p><\/dd>\n<dt id=\"which%20payment%20methods%20can%20my%20customers%20use%3F\"><h3>Which payment methods can my customers use?<\/h3><\/dt>\n<dd><p>QRIS (all Indonesian QRIS-enabled apps), bank Virtual Accounts (BCA, BRI, Mandiri, BNI and more), e-wallets such as GoPay and ShopeePay, and retail outlets Alfamart and Indomaret. The current list is served live by the Aulaa API; see <a href=\"https:\/\/aulaa.co\/?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">aulaa.co<\/a> for what is available on your account.<\/p><\/dd>\n<dt id=\"where%20is%20the%20api%20documentation%3F\"><h3>Where is the API documentation?<\/h3><\/dt>\n<dd><p>The full REST API reference is at <a href=\"https:\/\/aulaa.co\/dokumentasi?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">aulaa.co\/dokumentasi<\/a>, and setup guides are at <a href=\"https:\/\/aulaa.co\/panduan?utm_source=wordpress.org&amp;utm_medium=referral&amp;utm_campaign=woocommerce-plugin\">aulaa.co\/panduan<\/a>.<\/p><\/dd>\n<dt id=\"why%20is%20the%20aulaa%20payment%20method%20not%20showing%20at%20checkout%3F\"><h3>Why is the Aulaa payment method not showing at checkout?<\/h3><\/dt>\n<dd><p>Make sure: (1) the gateway is enabled, (2) an API Key is entered, and (3) the store currency is set to IDR or \"Konversi Mata Uang\" is enabled with exchange rates configured for your store currency.<\/p><\/dd>\n<dt id=\"order%20is%20paid%20but%20status%20is%20still%20%22pending%22%3F\"><h3>Order is paid but status is still \"pending\"?<\/h3><\/dt>\n<dd><p>Check that the Callback URL in your Aulaa project is correct and that the Webhook Secret in the plugin exactly matches the one in your Aulaa dashboard. Webhooks with a mismatched signature are rejected. To fix a single order manually, open the order, select \"Check payment status at Aulaa\" from the Order actions dropdown, then click Update \u2014 the plugin will query Aulaa directly and update the order status.<\/p><\/dd>\n<dt id=\"is%20customer%20card%20data%20stored%20on%20my%20store%3F\"><h3>Is customer card data stored on my store?<\/h3><\/dt>\n<dd><p>No. Customers pay on the Aulaa-hosted page; your store never receives card data.<\/p><\/dd>\n<dt id=\"why%20is%20the%20virtual%20account%20number%20or%20qr%20code%20no%20longer%20shown%20in%20my%20store%3F\"><h3>Why is the Virtual Account number or QR code no longer shown in my store?<\/h3><\/dt>\n<dd><p>Aulaa is a payment link provider, so raw payment credentials stay on the Aulaa payment page. Since 2.2.0 the plugin never requests, stores or displays Virtual Account numbers or QRIS payloads. It shares the payment link instead, which opens in a new tab and shows the customer the available methods and the instructions for the one they pick. Numbers stored by earlier versions are removed from order meta automatically in the background. Order status is unaffected \u2014 it is still set by Aulaa's webhook and by the plugin's status polling.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Fix: membayar ulang pesanan yang sama \u2014 lewat tombol \"Bayar\" di daftar pesanan atau halaman bayar order \u2014 tidak lagi menerbitkan tagihan kedua secara membabi buta. Plugin kini menanyakan dulu nasib tagihan yang sudah ada: bila sudah lunas statusnya langsung diterapkan tanpa tagihan baru, bila masih menunggu dengan metode dan nominal yang sama tautannya dipakai ulang, dan bila memang harus diganti tagihan lamanya dibatalkan di Aulaa.<\/li>\n<li>Fix: webhook kini juga mengenali ref percobaan bayar yang sudah digantikan. Sebelumnya menimpa <code>_aulaa_order_ref<\/code> membuat notifikasi untuk tagihan lama ditolak diam-diam dengan HTTP 200 \u2014 Aulaa menganggapnya terkirim dan tidak mengulang \u2014 sementara auto-polling hanya melihat tagihan terbaru. Akibatnya pembayaran ke tautan lama bisa masuk tanpa pesanan pernah ditandai lunas, tanpa jalur pemulihan otomatis apa pun.<\/li>\n<li>Change: pembeli kembali diarahkan langsung ke halaman pembayaran Aulaa di tab yang sama, lalu dikembalikan Aulaa ke halaman pesanan setelah membayar. Membuka tab baru dari halaman pesanan menuntut satu klik tambahan karena pemblokir pop-up, dan alur satu tab ini lebih singkat.<\/li>\n<li>Tweak: panel halaman pesanan kini fokus pada dua keadaan yang benar-benar terjadi \u2014 baru kembali dari Aulaa sebelum webhook mendarat, atau pembayaran yang ditinggal lalu dibuka lagi \u2014 dengan status yang memperbarui diri dan satu tautan untuk melanjutkan pembayaran.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Fix: saluran pembayaran yang tidak dilayani project Aulaa milik merchant tidak lagi muncul di checkout. Sebelumnya validasi ke daftar metode live dilewati setiap kali nominal keranjang tidak diketahui \u2014 halaman bayar order dan tautan bayar perpanjangan termasuk di dalamnya \u2014 atau ketika daftar metode kosong, sehingga seluruh sub-gateway tampil dan <code>POST \/payments<\/code> ditolak 400 \"metode pembayaran tidak tersedia\" setelah pembeli selesai mengisi formulir.<\/li>\n<li>Fix: validasi ketersediaan saluran yang sama kini berlaku di WooCommerce Checkout Blocks, yang sebelumnya tidak memeriksanya sama sekali.<\/li>\n<li>Fix: Kartu Kredit \/ Debit (<code>credit_card<\/code>) kini tersedia sebagai metode mandiri di checkout. Saluran ini dilayani API Aulaa tetapi belum punya sub-gateway, sehingga pada mode \"Pisahkan per Metode\" tidak pernah bisa dipilih pembeli meski aktif di project merchant.<\/li>\n<li>Fix: metode yang nominal keranjangnya di luar batas min\/max tidak lagi ditawarkan. Sebelumnya, bila tidak ada satu pun metode yang cocok, daftar tak tersaring yang dikembalikan sehingga kegagalannya hanya berpindah ke <code>POST \/payments<\/code>.<\/li>\n<li>Tweak: metode tanpa field <code>is_available<\/code> pada respons API diperlakukan sebagai tersedia, dan daftar metode yang tersaring habis dicatat ke log WooCommerce agar perubahan bentuk respons API langsung terlihat.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Compliance: Aulaa berperan sebagai penyedia payment link, bukan payment gateway, sehingga nomor pembayaran mentah (nomor Virtual Account dan payload QRIS) tidak lagi disimpan maupun ditampilkan oleh plugin. Yang dipegang dan dibagikan toko hanya tautan pembayaran.<\/li>\n<li>Compliance: Nomor pembayaran mentah yang tersimpan di meta order oleh versi sebelumnya dibersihkan otomatis per batch di latar belakang lewat Action Scheduler. Pencocokan webhook dan rekonsiliasi tidak terpengaruh karena keduanya memakai id invoice dan order ref, bukan nomor pembayaran.<\/li>\n<li>Compliance: Penghapusan ketergantungan pada layanan pihak ketiga QR Server (api.qrserver.com). Payload QRIS tidak pernah lagi dikirim keluar dari toko.<\/li>\n<li>Change: Tautan pembayaran Aulaa dibuka di tab baru. Setelah menekan \"Buat pesanan\", pelanggan tetap berada di halaman Terima Kasih toko alih-alih dilempar keluar dari toko.<\/li>\n<li>Change: Panel halaman Terima Kasih kini menampilkan tautan pembayaran beserta indikator status yang diperbarui sendiri. Status dibaca dari server; webhook dan polling tetap satu-satunya penentu status pembayaran, dan browser pelanggan tidak pernah menentukannya.<\/li>\n<li>Enhancement: Polling status on-demand dari halaman Terima Kasih, dibatasi satu panggilan API per 15 detik per pesanan, sehingga pembayaran terkonfirmasi tanpa menunggu siklus auto-polling 10 menit.<\/li>\n<li>Tweak: Semua tautan pembayaran Aulaa di wp-admin, portal langganan pelanggan, dan email tagihan perpanjangan dibuka di tab baru dengan <code>rel=\"noopener\"<\/code>.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Feature: Multi-Currency Support \u2014 toko dengan mata uang selain IDR (USD, SGD, EUR, MYR, JPY, AUD, dll.) kini dapat menggunakan gateway pembayaran Aulaa. Total pesanan otomatis dikonversi ke Rupiah (IDR) sebelum invoice diterbitkan.<\/li>\n<li>Feature: Pilihan mode penentuan kurs: Kurs Manual (Fixed Rate, default\/utama) dengan parser input fleksibel, serta opsi otomatis dari Live Exchange Rate API yang dilengkapi Sanity Check (Circuit Breaker) dan auto-fallback ke kurs manual.<\/li>\n<li>Feature: Pengaturan Buffer Markup Kurs (%) yang dapat disesuaikan oleh merchant untuk mengantisipasi selisih kurs riil dan biaya valas.<\/li>\n<li>Enhancement: Tampilan estimasi konversi mata uang yang transparan bagi pembeli di formulir checkout klasik dan WooCommerce Checkout Blocks.<\/li>\n<li>Enhancement: Penyimpanan audit trail konversi mata uang lengkap (mata uang asal, nominal asli, nilai kurs, mode kurs, dan nominal IDR) pada metadata pesanan dan metabox detail pesanan admin.<\/li>\n<li>Notice: Penambahan disclaimer tanggung jawab finansial dan hukum pada setelan gateway admin.<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Feature: Menghadirkan mode \"Pisahkan per Metode\" (Individual Gateways) \u2014 QRIS, Virtual Account (BCA, Mandiri, BNI, BRI, CIMB, Permata, dll.), E-Wallet (ShopeePay, GoPay, OVO, DANA), dan Retail tampil langsung sebagai pilihan utama mandiri di checkout WooCommerce tanpa radio button bersarang (\"pilihan di dalam pilihan\").<\/li>\n<li>Feature: Kontrol masing-masing metode di WooCommerce \u2192 Pengaturan \u2192 Pembayaran untuk mengaktifkan\/menonaktifkan, mengubah judul, dan mengatur urutan tampilan.<\/li>\n<li>Enhancement: Tampilan baru mode satu gateway (\"Pilih di Checkout\") menggunakan grid kartu visual interaktif responsif dengan logo resmi tanpa radio button lingkaran ganda.<\/li>\n<li>Enhancement: Dukungan sub-gateway untuk WooCommerce Checkout Blocks (React).<\/li>\n<li>Fix: Sinkronisasi pembatalan otomatis, auto-polling 10 menit, dan aksi order admin sekarang mencakup semua transaksi dari sub-gateway Aulaa.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Feature: Tampilan baru pemilihan metode pembayaran langsung di checkout dengan daftar kartu vertikal rapi, radio button di kiri, dan logo resmi bank\/e-wallet di kanan (BCA, Mandiri, BNI, BRI, CIMB, Permata, QRIS, DANA, OVO, ShopeePay, dll.).<\/li>\n<li>Feature: Integrasi aset logo bank dan metode pembayaran resmi.<\/li>\n<li>Tweak: Penghapusan opsi dropdown fleksibel pada mode \"Pilih di Checkout\" agar pembeli langsung memilih metode spesifik.<\/li>\n<li>Tweak: Peningkatan batas timeout pemanggilan endpoint <code>\/v1\/payments\/methods<\/code> untuk performa render checkout yang lebih cepat.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Fix: webhook execution order updated to process payment completion and save order status to database before returning HTTP 200 OK response, preventing premature script termination on LiteSpeed and FastCGI servers.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fix: fixed custom post type capability conflict where registering <code>aulaa_subscription<\/code> hijacked the <code>manage_woocommerce<\/code> capability, causing admin sidebar menus (WooCommerce Payments, Meta WhatsApp) to disappear and triggering a 403 permission error on WooCommerce Settings.<\/li>\n<li>Docs: the plugin page now links to the Aulaa homepage, pricing, API documentation, guides and sign-up, so merchants can reach account setup from the plugin listing.<\/li>\n<li>Docs: added FAQ entries covering account setup, supported payment methods and where the API documentation lives.<\/li>\n<li>Docs: shortened the one-line description, which was over the 150-character limit and was being cut off in the WordPress.org listing.<\/li>\n<li>Tweak: Plugins \u2192 Installed Plugins now shows Aulaa website, documentation and support links in the plugin row.<\/li>\n<li>Tweak: the API credentials section of the gateway settings links straight to the Aulaa dashboard and sign-up page.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<p>Maintenance release fixing defects introduced in 2.0.0. Upgrading is recommended for every 2.0.0 install.<\/p>\n\n<ul>\n<li>Fix: refund status from Aulaa was never applied \u2014 the \"already paid\" guard returned before the refund branch could run, so <code>refunded<\/code> webhooks were silently ignored.<\/li>\n<li>Fix: removed an <code>admin_post<\/code> hook registered to a method that was never defined, which produced a fatal error for any logged-in user who reached that URL.<\/li>\n<li>Fix: auto-polling fetched the oldest pending orders and then discarded ones older than three days, so abandoned checkouts could fill the batch and starve recent orders. The age limit is now applied in the query.<\/li>\n<li>Fix: failed payment-method lookups are now cached briefly. Previously, an unreachable Aulaa API made every checkout page render wait on a 30-second HTTP timeout.<\/li>\n<li>Fix: HTTP 409 recovery now reads back the invoice's original order reference. Previously it stored a freshly generated reference that the webhook could never match, leaving paid orders stuck as pending.<\/li>\n<li>Fix: renewal invoices validate the same Rp1.000 - Rp500.000.000 bounds as checkout.<\/li>\n<li>Fix: dates are rendered with <code>wp_date()<\/code>, so stores in time zones observing DST display the correct local time.<\/li>\n<li>Fix: <code>label_count<\/code> for subscription statuses no longer passes variables to <code>_n_noop()<\/code>.<\/li>\n<li>Fix: uninstall now also removes the payment-method cache and any leftover renewal locks.<\/li>\n<li>Feature: payment method selection (QRIS, VA, E-Wallet, Retail) now also works on Checkout Blocks, not just classic checkout.<\/li>\n<li>Feature: the renewal notification is now a proper <code>WC_Email<\/code> \u2014 configurable under WooCommerce &gt; Settings &gt; Emails, with theme-overridable templates and a plain-text version.<\/li>\n<li>Docs: declared the QR Server (goqr.me) image API under External services.<\/li>\n<li>Housekeeping: removed a stray plugin zip archive that was being shipped inside the plugin.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Major release: Advanced Aulaa API integration and Recurring Subscriptions v2.<\/li>\n<li>Feature: Direct payment method selection at checkout (QRIS, VA, E-Wallet, Retail) via live API (<code>GET \/v1\/payments\/methods<\/code>).<\/li>\n<li>Feature: Order cancellation synchronization with Aulaa API (<code>POST \/v1\/payments\/{id}\/cancel<\/code>).<\/li>\n<li>Feature: Fallback payment instructions on WooCommerce Thank You \/ Order Received page (QRIS QR Code &amp; Virtual Account with 1-click copy button).<\/li>\n<li>Feature: Smart recovery from HTTP 409 Conflict during checkout retries.<\/li>\n<li>Feature: Refund status synchronization (<code>refunded<\/code>).<\/li>\n<li>Feature: Transaction amount bounds validation (Rp1.000 - Rp500.000.000).<\/li>\n<li>Feature: Sandbox simulation shortcuts in WordPress Admin Order screen.<\/li>\n<li>Feature: Recurring subscriptions engine for periodic billing via Aulaa payment link invoices.<\/li>\n<li>Feature: Product-level subscription settings (interval, period, number of cycles).<\/li>\n<li>Feature: Action Scheduler automated renewal processing with lock protection.<\/li>\n<li>Feature: Automatic renewal order creation and email notifications with direct payment links.<\/li>\n<li>Feature: Customer self-service subscription portal under WooCommerce My Account.<\/li>\n<li>Feature: Admin subscription dashboard under WooCommerce \u2192 Langganan Aulaa.<\/li>\n<li>Feature: Background auto-polling every 10 minutes to query Aulaa API for pending orders.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix webhook timeout (send early HTTP 200 OK response with fastcgi_finish_request before processing order and background hooks).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: Aulaa gateway (classic checkout + Blocks), signed webhooks, HPOS.<\/li>\n<li>Order action \"Check payment status at Aulaa\" (manual reconciliation via GET \/payments\/{id}).<\/li>\n<li>Optional debug logging to WooCommerce Logs (credentials are never stored in logs).<\/li>\n<\/ul>","raw_excerpt":"Accept QRIS, Virtual Account, e-wallet and retail payments in WooCommerce with Aulaa, an Indonesian payment gateway, plus recurring billing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344058"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aulaa"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344058"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344058"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344058"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344058"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344058"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}