{"id":260628,"date":"2025-12-17T07:08:30","date_gmt":"2025-12-17T07:08:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/epasscard\/"},"modified":"2026-10-09T07:51:51","modified_gmt":"2026-10-09T07:51:51","slug":"epasscard","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/epasscard\/","author":20914130,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"EpassCard \u2013 Apple & Google Wallet Passes for Loyalty, Memberships, Events & Gift Cards","header_author":"WebCartisan","header_description":"Manage digital wallet passes for Apple Wallet, Google Wallet, and EpassCard.","assets_banners_color":"596976","last_updated":"2026-10-09 07:51:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/webcartisan.com\/plugins\/epasscard","header_author_uri":"https:\/\/webcartisan.com\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":1720,"num_ratings":1,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wooxperto","date":"2026-05-21 04:04:11","revision":3540573},"1.0.1":{"tag":"1.0.1","author":"wooxperto","date":"2026-07-19 09:11:38","revision":3613392},"1.0.2":{"tag":"1.0.2","author":"wooxperto","date":"2026-07-24 07:11:28","revision":3620885},"1.0.3":{"tag":"1.0.3","author":"wooxperto","date":"2026-07-31 15:22:40","revision":3630160},"1.0.4":{"tag":"1.0.4","author":"wooxperto","date":"2026-07-31 15:22:40","revision":3630160},"1.0.5":{"tag":"1.0.5","author":"wooxperto","date":"2026-08-12 05:09:43","revision":3642827},"1.0.6":{"tag":"1.0.6","author":"wooxperto","date":"2026-08-28 05:02:14","revision":3669796},"1.0.7":{"tag":"1.0.7","author":"wooxperto","date":"2026-09-23 04:35:07","revision":3708471},"1.0.8":{"tag":"1.0.8","author":"wooxperto","date":"2026-09-28 11:36:07","revision":3717050},"1.0.9":{"tag":"1.0.9","author":"wooxperto","date":"2026-10-05 09:27:23","revision":3728504},"1.1.0":{"tag":"1.1.0","author":"wooxperto","date":"2026-10-09 07:51:51","revision":3736149}},"upgrade_notice":{"1.1.0":"<p>Adds one-click, customizable pass designs (logo, strip, colors, labels) for membership, subscription, event and gift card integrations. Safe update; existing connections, mappings and passes are kept.<\/p>","1.0.9":"<p>Security and stability release. Masks API keys in the API Log, sanitizes the plugin catalog, and fixes repeated push reminders. Safe update; existing connections, mappings and passes are kept.<\/p>","1.0.1":"<p>Rebrand and admin UI improvements. Safe update for existing connections.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3728504,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3728504,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3728504,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3728504,"resolution":"1","location":"assets","locale":"","width":1920,"height":2039},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3728504,"resolution":"2","location":"assets","locale":"","width":1920,"height":1026},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3728504,"resolution":"3","location":"assets","locale":"","width":1920,"height":2840},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3728504,"resolution":"4","location":"assets","locale":"","width":1920,"height":3270},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3728504,"resolution":"5","location":"assets","locale":"","width":1920,"height":2504},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3728504,"resolution":"6","location":"assets","locale":"","width":1920,"height":919},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3728504,"resolution":"7","location":"assets","locale":"","width":1632,"height":800}},"screenshots":{"1":"Connection settings \u2014 connect your EpassCard account and enable integrations.","2":"Pass Template mapping \u2014 map membership fields to Apple Wallet and Google Wallet pass fields.","3":"Issued passes \u2014 searchable list of wallet passes and delivery links."}},"plugin_section":[],"plugin_tags":[252378,17694,1932,270577,286],"plugin_category":[45,58],"plugin_contributors":[272776,219760],"plugin_business_model":[],"class_list":["post-260628","plugin","type-plugin","status-publish","hentry","plugin_tags-apple-wallet","plugin_tags-google-wallet","plugin_tags-membership","plugin_tags-wallet-pass","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-user-management","plugin_contributors-hasan350","plugin_contributors-wooxperto","plugin_committers-wooxperto"],"banners":{"banner":"https:\/\/ps.w.org\/epasscard\/assets\/banner-772x250.png?rev=3728504","banner_2x":"https:\/\/ps.w.org\/epasscard\/assets\/banner-1544x500.png?rev=3728504","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/epasscard\/assets\/icon-256x256.gif?rev=3728504","icon_2x":"https:\/\/ps.w.org\/epasscard\/assets\/icon-256x256.gif?rev=3728504","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-1.png?rev=3728504","caption":"Connection settings \u2014 connect your EpassCard account and enable integrations."},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-2.png?rev=3728504","caption":"Pass Template mapping \u2014 map membership fields to Apple Wallet and Google Wallet pass fields."},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-3.png?rev=3728504","caption":"Issued passes \u2014 searchable list of wallet passes and delivery links."},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-4.png?rev=3728504","caption":""},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-5.png?rev=3728504","caption":""},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-6.png?rev=3728504","caption":""},{"src":"https:\/\/ps.w.org\/epasscard\/assets\/screenshot-7.png?rev=3728504","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>EpassCard turns your WordPress data into Apple Wallet and Google Wallet passes.<\/strong> Loyalty cards for WooCommerce, membership cards for MemberPress and Paid Memberships Pro, event tickets, and gift cards are issued, updated and pushed to your customers' phones automatically. No code, no Zapier.<\/p>\n\n<p>[youtube https:\/\/www.youtube.com\/watch?v=-Xg8wzQ5lVw]<\/p>\n\n<h4>Why EpassCard<\/h4>\n\n<ul>\n<li><strong>Built for WordPress.<\/strong> One plugin with 10 integrations. Most wallet pass tools reach WordPress only through Zapier or cover a single plugin.<\/li>\n<li><strong>A loyalty program with a wallet card, built in.<\/strong> Points, tiers and rewards for WooCommerce, with the card living in Apple Wallet and Google Wallet.<\/li>\n<li><strong>Both wallets from one template.<\/strong> Apple Wallet (<code>.pkpass<\/code> for iPhone, iPad and Apple Watch) and Google Wallet (Android).<\/li>\n<li><strong>Passes stay up to date.<\/strong> When points, a balance, a membership level or an expiry date changes, the pass on the phone changes too, and you can send push notifications.<\/li>\n<li><strong>Free to start.<\/strong> 50 live passes free. Paid plans from $19\/month, or $13\/month billed yearly.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/www.epasscard.com\/documentation\/\">Documentation<\/a> | <a href=\"https:\/\/www.epasscard.com\/pricing\/\">Pricing<\/a> | <a href=\"https:\/\/www.epasscard.com\/book-a-demo\/\">Book a demo<\/a><\/p>\n\n<h4>WooCommerce loyalty program with an Apple Wallet and Google Wallet card<\/h4>\n\n<p>Give every customer a loyalty card that lives on their phone, not in a forgotten account page.<\/p>\n\n<ul>\n<li>Earn points on orders<\/li>\n<li>Tiers and milestone rewards<\/li>\n<li>Coupon rewards, and point redemption at checkout<\/li>\n<li>The wallet card shows the current points balance and updates automatically<\/li>\n<li>Push notifications to bring customers back<\/li>\n<\/ul>\n\n<p>Full setup walkthrough (16 minutes, with chapters):<\/p>\n\n<p>[youtube https:\/\/youtu.be\/-arN8Db3fjA]<\/p>\n\n<h4>Digital membership cards<\/h4>\n\n<p>Turn memberships into <strong>digital membership cards<\/strong> members save to their phone wallet.<\/p>\n\n<ul>\n<li><strong>MemberPress<\/strong> \u2013 issue a membership wallet pass on signup, renewal and profile updates; expire it on refund or expiry<\/li>\n<li><strong>Paid Memberships Pro<\/strong> \u2013 issue passes when a level is assigned, renewed, cancelled or expires<\/li>\n<li><strong>Simple Membership<\/strong> \u2013 issue passes when members register, change level or change account state<\/li>\n<li><strong>Ultimate Membership Pro<\/strong> \u2013 issue passes for UMP members with the same template-mapping workflow<\/li>\n<li><strong>WooCommerce Subscriptions<\/strong> \u2013 create a subscription wallet pass when a subscription activates or renews<\/li>\n<\/ul>\n\n<h4>Event tickets in Apple Wallet and Google Wallet<\/h4>\n\n<ul>\n<li><strong>The Events Calendar<\/strong> (with Event Tickets) \u2013 map events to pass templates and issue a wallet ticket to each attendee<\/li>\n<li><strong>Events Manager<\/strong> \u2013 issue wallet passes when bookings are approved, and update them when the status changes<\/li>\n<\/ul>\n\n<h4>Gift cards in the wallet<\/h4>\n\n<ul>\n<li><strong>PW WooCommerce Gift Cards<\/strong> \u2013 issue a pass when a gift card is created, and update the balance on the pass<\/li>\n<li><strong>YITH WooCommerce Gift Cards<\/strong> \u2013 issue and update passes when gift cards are generated or used<\/li>\n<\/ul>\n\n<p>Map names, plans, expiry dates, QR codes, barcodes and custom fields from your plugin to your pass template.<\/p>\n\n<h4>Other pass types<\/h4>\n\n<p>Because passes are designed in EpassCard, you can also issue stamp cards, coupons, employee and student ID cards, visitor passes, conference badges, digital business cards (vCard) and reservation passes.<\/p>\n\n<h4>Pricing<\/h4>\n\n<p>Plans are based on <strong>live passes<\/strong>: passes in your customers' wallets that you can update and send notifications to at any time. Delete a pass you no longer need to free its slot.<\/p>\n\n<ul>\n<li><strong>Free<\/strong> \u2013 50 live passes, 3 templates<\/li>\n<li><strong>Starter<\/strong> \u2013 $19\/month \u2013 250 live passes, 5 templates, AI pass designer<\/li>\n<li><strong>Growth<\/strong> \u2013 $39\/month \u2013 1,000 live passes, 10 templates<\/li>\n<li><strong>Business<\/strong> \u2013 $65\/month \u2013 5,000 live passes, 25 templates<\/li>\n<li><strong>Pro, Scale and Scale+<\/strong> \u2013 up to 50,000 live passes<\/li>\n<\/ul>\n\n<p>Save 30%+ with yearly billing. See <a href=\"https:\/\/www.epasscard.com\/pricing\/\">all plans<\/a>.<\/p>\n\n<h4>A PassKit alternative for WordPress<\/h4>\n\n<p>Looking for a <strong>PassKit<\/strong>, <strong>Passcreator<\/strong> or <strong>Pass2U alternative<\/strong> that works natively inside WordPress? EpassCard is a wallet pass platform with a built-in WordPress connector, not a middleware automation. Connect your account, map your templates, and passes are created when things happen on your site.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Apple Wallet and Google Wallet<\/strong> \u2013 one integration, both wallets<\/li>\n<li><strong>Automatic pass issuing<\/strong> \u2013 on signup, renewal, purchase, booking or points earned<\/li>\n<li><strong>Pass updates<\/strong> \u2013 passes stay in sync when the source data changes<\/li>\n<li><strong>Template mapping<\/strong> \u2013 map your plugin's fields to pass fields, including QR codes and barcodes<\/li>\n<li><strong>Push notifications<\/strong> \u2013 reminders before expiry, renewal or an event<\/li>\n<li><strong>Built-in WooCommerce loyalty program<\/strong> \u2013 points, tiers, rewards and checkout redemption<\/li>\n<li><strong>Issued passes list<\/strong> \u2013 searchable table of passes and delivery links, with retry for failed actions<\/li>\n<li><strong>My Account access<\/strong> \u2013 customers open their passes from their account area<\/li>\n<li><strong>Email delivery<\/strong> \u2013 the pass link is emailed automatically<\/li>\n<\/ul>\n\n<h4>Who is it for?<\/h4>\n\n<ul>\n<li><strong>WooCommerce stores<\/strong> that want a loyalty program customers actually use<\/li>\n<li><strong>Membership sites<\/strong> \u2013 gyms, clubs, associations and online courses<\/li>\n<li><strong>Subscription businesses<\/strong> using WooCommerce Subscriptions<\/li>\n<li><strong>Event organisers<\/strong> using The Events Calendar or Events Manager<\/li>\n<li><strong>Gift card sellers<\/strong> using PW or YITH gift cards<\/li>\n<li><strong>Agencies<\/strong> that build WordPress sites and want to offer wallet passes to clients<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>An <a href=\"https:\/\/epasscard.com\/\">EpassCard<\/a> account (free plan available \u2013 sign up from the plugin or at <a href=\"https:\/\/app.epasscard.com\">app.epasscard.com<\/a>)<\/li>\n<li>For the loyalty program: WooCommerce<\/li>\n<li>For other passes: at least one supported plugin (MemberPress, Paid Memberships Pro, Simple Membership, Ultimate Membership Pro, WooCommerce Subscriptions, The Events Calendar + Event Tickets, Events Manager, PW Gift Cards or YITH Gift Cards)<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p>This plugin relies on the following third-party services. Nothing is sent to them until you use the related feature.<\/p>\n\n<p><strong>EpassCard API<\/strong> (<code>https:\/\/api.epasscard.com<\/code>) \u2014 the service that creates and delivers the wallet passes.<\/p>\n\n<ul>\n<li>When you sign up from the plugin, your name and email address are sent to create an EpassCard account.<\/li>\n<li>When you sign in, your EpassCard email and password are sent once to generate an API key, together with your site name, site address (used to lock the key to your domain) and timezone. The password is not stored by the plugin.<\/li>\n<li>When you connect, refresh or renew an API key, the key is sent for validation.<\/li>\n<li>When passes are created, updated, expired or notified, the pass field values you map (for example member name, email, membership level, expiry date, ticket or gift card details, loyalty points) are sent, along with your site address in request headers.<\/li>\n<li>Pass templates and template fields are read from your EpassCard account.<\/li>\n<li>EpassCard <a href=\"https:\/\/www.epasscard.com\/terms-and-conditions\/\">Terms and Conditions<\/a> and <a href=\"https:\/\/www.epasscard.com\/privacy-policy\/\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<p><strong>WebCartisan plugin catalog<\/strong> (<code>https:\/\/webcartisan.com<\/code>) \u2014 the \"Our Products\" section on the EpassCard Connection screen loads a list of our other plugins from <code>https:\/\/webcartisan.com\/wp-json\/webcartisan\/v1\/catalog<\/code>. Only the plugin slug (<code>epasscard<\/code>) and the standard WordPress user agent (which includes your site address) are sent; the result is cached for 12 hours. <a href=\"https:\/\/webcartisan.com\/\">WebCartisan<\/a>.<\/p>\n\n<p><strong>Google Fonts<\/strong> (<code>https:\/\/fonts.googleapis.com<\/code>) \u2014 the EpassCard admin screens load the DM Sans, Inter and Material Symbols fonts. Your browser requests them from Google when you open an EpassCard admin screen. <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a>.<\/p>\n\n<p><strong>YouTube (privacy-enhanced mode)<\/strong> (<code>https:\/\/www.youtube-nocookie.com<\/code>) \u2014 an intro video is embedded on the EpassCard Connection screen. <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a>.<\/p>\n\n<p><strong>bwip-js barcode API<\/strong> (<code>https:\/\/bwipjs-api.metafloor.com<\/code>) \u2014 the WooCommerce Loyalty pass designer shows a barcode preview image generated by this service. Only sample barcode settings are sent (no customer data). <a href=\"https:\/\/github.com\/metafloor\/bwip-js\">bwip-js<\/a>.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>EpassCard uses <a href=\"https:\/\/appsero.com\">Appsero<\/a> SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster &amp; make product improvements.<\/p>\n\n<p>Appsero SDK <strong>does not gather any data by default.<\/strong> The SDK only starts gathering basic telemetry data <strong>when a user allows it via the admin notice<\/strong>. We collect the data to ensure a great user experience for all our users.<\/p>\n\n<p>Integrating Appsero SDK <strong>DOES NOT IMMEDIATELY<\/strong> start gathering data, <strong>without confirmation from users in any case.<\/strong><\/p>\n\n<p>Learn more about how <a href=\"https:\/\/appsero.com\/privacy-policy\/\">Appsero collects and uses this data<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Easily install the EpassCard plugin by uploading the plugin folder to \/wp-content\/plugins\/epasscard\/ or by installing it directly from the WordPress.org repository, and follow the simple activation and setup process.<\/li>\n<li>Activate through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>EpassCard \u2192 Connection<\/strong> and connect your account.<\/li>\n<li>Open <strong>Connection \u2192 Integrations<\/strong> and enable the modules you need.<\/li>\n<li>Map pass templates under each enabled integration.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20much%20does%20epasscard%20cost%3F\"><h3>How much does EpassCard cost?<\/h3><\/dt>\n<dd><p>The plugin is free. The EpassCard service has a free plan with 50 live passes. Paid plans start at $19\/month for 250 live passes, or $13\/month billed yearly. See <a href=\"https:\/\/www.epasscard.com\/pricing\/\">pricing<\/a>.<\/p><\/dd>\n<dt id=\"what%20is%20a%20live%20pass%3F\"><h3>What is a live pass?<\/h3><\/dt>\n<dd><p>A live pass is a pass in a customer's wallet that you can update and send notifications to (for example a loyalty card whose points change). Your plan sets how many live passes you can have at once. Delete a pass you no longer need to free its slot.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20apple%20developer%20account%3F\"><h3>Do I need an Apple Developer account?<\/h3><\/dt>\n<dd><p>No. EpassCard signs and delivers the passes for you.<\/p><\/dd>\n<dt id=\"how%20does%20the%20woocommerce%20loyalty%20program%20work%3F\"><h3>How does the WooCommerce loyalty program work?<\/h3><\/dt>\n<dd><p>Enable the WooCommerce Loyalty module, set how customers earn points, and add tiers and rewards. Each customer gets a loyalty card in Apple Wallet or Google Wallet that shows their points and updates automatically. Customers can redeem points at checkout.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20epasscard%20account%3F\"><h3>Do I need an EpassCard account?<\/h3><\/dt>\n<dd><p>Yes. Create a free account at <a href=\"https:\/\/app.epasscard.com\">app.epasscard.com<\/a>, then connect it in <strong>EpassCard \u2192 Connection<\/strong>.<\/p><\/dd>\n<dt id=\"which%20plugins%20are%20supported%3F\"><h3>Which plugins are supported?<\/h3><\/dt>\n<dd><p>WooCommerce (built-in loyalty program), MemberPress, Paid Memberships Pro, Simple Membership, Ultimate Membership Pro, WooCommerce Subscriptions, The Events Calendar (with Event Tickets), Events Manager, PW Gift Cards and YITH Gift Cards. Enable only the modules you use.<\/p><\/dd>\n<dt id=\"how%20do%20i%20create%20an%20apple%20wallet%20pass%20on%20wordpress%3F\"><h3>How do I create an Apple Wallet pass on WordPress?<\/h3><\/dt>\n<dd><ol>\n<li>Create a pass template in your EpassCard account (membership card, loyalty card, event ticket, or other pass type).<\/li>\n<li>Install and activate the EpassCard WordPress plugin, then connect your API key.<\/li>\n<li>Enable the integration module for your plugin (membership or events).<\/li>\n<li>Map source fields to pass template fields.<\/li>\n<li>When a member subscribes, a ticket is purchased, or a booking is approved, they receive a link to add the pass to <strong>Apple Wallet<\/strong> or <strong>Google Wallet<\/strong>.<\/li>\n<\/ol><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20google%20wallet%20pass%20to%20my%20wordpress%20site%3F\"><h3>How do I add a Google Wallet pass to my WordPress site?<\/h3><\/dt>\n<dd><p>The workflow is the same as Apple Wallet. EpassCard creates passes for both platforms from one Pass Template mapping. Members choose <strong>Add to Apple Wallet<\/strong> or <strong>Add to Google Wallet<\/strong> from their pass link.<\/p><\/dd>\n<dt id=\"is%20there%20a%20wordpress%20plugin%20for%20apple%20wallet%20membership%20cards%3F\"><h3>Is there a WordPress plugin for Apple Wallet membership cards?<\/h3><\/dt>\n<dd><p>Yes. EpassCard is a <strong>WordPress wallet pass plugin<\/strong> designed for membership and subscription sites. It issues <strong>digital membership cards<\/strong> to Apple Wallet and Google Wallet automatically when members sign up or renew.<\/p><\/dd>\n<dt id=\"does%20epasscard%20work%20with%20woocommerce%20apple%20wallet%20and%20google%20wallet%3F\"><h3>Does EpassCard work with WooCommerce Apple Wallet and Google Wallet?<\/h3><\/dt>\n<dd><p>Yes. Enable the WooCommerce Subscriptions module to issue a <strong>WooCommerce wallet pass<\/strong> when subscriptions activate, renew, or update. This is ideal for subscription boxes, SaaS products, and recurring membership products sold through WooCommerce.<\/p><\/dd>\n<dt id=\"what%20is%20pkpass%20and%20does%20epasscard%20support%20it%3F\"><h3>What is PKPass and does EpassCard support it?<\/h3><\/dt>\n<dd><p>PKPass (<code>.pkpass<\/code>) is the file format Apple Wallet uses for digital passes. EpassCard issues standard pkpass files compatible with iPhone, iPad, and Apple Watch. You design the pass in EpassCard; the WordPress plugin sends member data and triggers pass creation through the EpassCard API.<\/p><\/dd>\n<dt id=\"can%20i%20use%20qr%20codes%20and%20barcodes%20on%20wallet%20passes%3F\"><h3>Can I use QR codes and barcodes on wallet passes?<\/h3><\/dt>\n<dd><p>Yes. If your EpassCard pass template includes QR code or barcode fields, map membership data (member ID, subscription ID, check-in code, etc.) to those fields. Members scan the code from their <strong>mobile wallet pass<\/strong>.<\/p><\/dd>\n<dt id=\"is%20epasscard%20a%20passkit%20alternative%20for%20wordpress%3F\"><h3>Is EpassCard a PassKit alternative for WordPress?<\/h3><\/dt>\n<dd><p>Yes. EpassCard is a native <strong>WordPress wallet pass plugin<\/strong> for issuing Apple Wallet and Google Wallet passes \u2014 without Zapier, Make, or custom API development. It is built for membership, subscription, event, and gift card sites using plugins such as MemberPress, Paid Memberships Pro, Ultimate Membership Pro, WooCommerce Subscriptions, The Events Calendar (with Event Tickets), Events Manager, PW Gift Cards, or YITH Gift Cards.<\/p><\/dd>\n<dt id=\"how%20does%20wallet%20pass%20automation%20work%3F\"><h3>How does wallet pass automation work?<\/h3><\/dt>\n<dd><p>Passes are created automatically when configured membership events occur (signup, renewal, subscription activation). When mapped membership data changes, EpassCard updates the existing pass via the API. Push notification rules can remind members before expiry or renewal.<\/p><\/dd>\n<dt id=\"can%20i%20issue%20digital%20loyalty%20cards%20or%20event%20tickets%3F\"><h3>Can I issue digital loyalty cards or event tickets?<\/h3><\/dt>\n<dd><p>Yes. Create the pass type you need in EpassCard (loyalty card, event ticket, coupon, gift card, employee badge, etc.), then map your WordPress membership or subscription fields to the template. The plugin issues whatever pass type your template defines.<\/p><\/dd>\n<dt id=\"does%20epasscard%20send%20wallet%20pass%20update%20notifications%3F\"><h3>Does EpassCard send wallet pass update notifications?<\/h3><\/dt>\n<dd><p>Yes. Configure push reminder rules in the plugin admin for events like subscription expiry, renewal, trial ending, and card expiration. Reminders are delivered as <strong>wallet pass notifications<\/strong> on supported devices.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20passbook%20and%20apple%20wallet%3F\"><h3>What is the difference between Passbook and Apple Wallet?<\/h3><\/dt>\n<dd><p>Passbook was renamed to Apple Wallet in 2015. The underlying <code>.pkpass<\/code> format is the same. EpassCard issues passes for modern Apple Wallet and Google Wallet.<\/p><\/dd>\n<dt id=\"can%20i%20manually%20create%20or%20resend%20a%20pass%3F\"><h3>Can I manually create or resend a pass?<\/h3><\/dt>\n<dd><p>Yes. From the admin <strong>Issued passes<\/strong> table or member screens, you can create a pass, update an existing pass, or email the pass link to a member.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: \"Create pass design for me\". On the Paid Memberships Pro, MemberPress, Simple Membership, Ultimate Membership Pro, WooCommerce Subscriptions, The Events Calendar, Events Manager, PW Gift Cards and YITH Gift Cards pages, one click creates a ready-made pass template in your EpassCard account (fields, QR code, colors and logo) and maps it to every plan, event or product that is not mapped yet. Existing mappings are never changed.<\/li>\n<li>New: Customize the ready-made pass before or after it is created: your own logo and strip image (from the Media Library or a URL), background, value and label colors, every field label on the front and back, and the QR\/barcode format, with a live front and back preview. \"Edit design\" updates the template in EpassCard and keeps all mappings.<\/li>\n<li>Images from sites that are not public (localhost, .test, staging) are sent to EpassCard inline, so custom logos and strips also work on local and staging sites.<\/li>\n<li>New: \"Use it for the unmapped items\" button applies your ready-made design to plans, events or products you add later.<\/li>\n<li>New: A \"Create a pass design for me\" link next to \"Create a new template\" in the mapping window.<\/li>\n<li>Each integration creates at most one template, even after a double click or a retry. The design card shows how many items use it.<\/li>\n<li>Fix: Primary buttons inside EpassCard screens were shown in grey.<\/li>\n<li>Fix: Empty logo and strip previews on the WooCommerce Loyalty Pass Design screen showed broken images.<\/li>\n<li>Developer: New filters epc_starter_template_preset and epc_starter_template_payload (now also receives the design), and action epc_starter_template_updated. EPC_Api_Client::create_pass_template_v2() and update_pass_template_v2() accept an optional API Log context.<\/li>\n<li>Security: Every database query on EpassCard's own tables now uses prepared table-name placeholders, and request input in the setup wizard, pass actions and loyalty points adjustment is sanitized more strictly. The plugin passes WordPress Plugin Check with no errors.<\/li>\n<li>New: A dismissible Halloween deal notice for administrators. It stops showing automatically after October 31, 2026.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Security: API keys, passwords and tokens are now masked in both request and response bodies in the API Log. Existing log entries are cleaned automatically after updating.<\/li>\n<li>Security: The \"Our Products\" catalog is now sanitized before display and cached for 12 hours, so the Connection screen no longer waits on a remote request every time it loads.<\/li>\n<li>Fix: Wallet push reminders are no longer re-sent after a pass is updated, and each new expiry or event date now gets its own reminder.<\/li>\n<li>Fix: Events Manager pass behavior settings (per booking status) are now applied instead of always using the defaults.<\/li>\n<li>Fix: Loyalty reward coupon errors now show the correct message at checkout.<\/li>\n<li>Removed an unused file that was accidentally included in the package.<\/li>\n<li>Readme: listed all external services used by the plugin.<\/li>\n<li>Fix: Expiring a pass now uses the documented endpoint (POST \/v1\/pass-expire\/{passUid}). In 1.0.8 expiry calls returned \"Not found\", so cancelled or refunded members kept a working pass. Passes revoked since then are re-expired automatically once after updating.<\/li>\n<li>Fix: Failed expiry calls are retried automatically (up to 3 times). The pass is only marked Revoked once EpassCard confirms it.<\/li>\n<li>New: \"Pass actions that need attention\" panel on each integration page, plus an admin notice, lists passes that could not be created, updated or expired, with the error from EpassCard and Retry \/ Dismiss buttons.<\/li>\n<li>New: \"Create passes for existing members\" button on each mapped plan, so members who joined before the mapping get a pass.<\/li>\n<li>Fix: If a stored pass belongs to a different EpassCard account (for example after reconnecting with another API key), a new pass is created instead of failing on every update.<\/li>\n<li>Fix: Date and number fields are converted to the format EpassCard expects (for example \"$501.00\" becomes 501.00 and dates become YYYY-MM-DD). Values that cannot be converted are sent unchanged, as before.<\/li>\n<li>Mapping: The mapping window now shows which pass fields are Required, Unique, Number or Date, blocks saving when a required field is not mapped, and warns about values that may not fit a number field.<\/li>\n<li>MemberPress: Refunded and expired transactions now expire the pass, and a new \"Pass behavior by transaction status\" panel lets you choose what happens for each status.<\/li>\n<li>Ultimate Membership Pro: Passes are now created when a level is assigned and expired when a level is removed or cancelled in UMP 10.x. The older hooks are still supported.<\/li>\n<li>Simple Membership: Members added from the admin \"Add member\" screen now get a pass.<\/li>\n<li>Gift cards (PW and YITH): Only one pass is created per card, after the balance is set; cards with a zero balance no longer get a pass; sender and recipient fall back to the order's billing name and email.<\/li>\n<li>Loyalty: Points are no longer earned on gift card purchases for new programs (option \"Gift cards\" in Program settings; existing programs keep their current behavior).<\/li>\n<li>Loyalty: Rewards that are no longer earned after a refund are withdrawn, and re-offered when the points are earned again.<\/li>\n<li>Loyalty: The order thank-you page shows the points earned, order notes record each points change, the checkout shows \"Loyalty points\" for the redeem coupon, and the redeem box is hidden when the customer has no points.<\/li>\n<li>Loyalty: The pass for a customer's first points is created right away, and the card name uses the pass design name.<\/li>\n<li>Admin: The Connection screen shows inactive supported plugins with an Activate link and hides the sign-in form once connected. The setup wizard has a proper page title.<\/li>\n<li>Emails: The pass link email subject now names the pass (new {pass_name} placeholder), so members with several passes can tell them apart. Sites that saved their own subject keep it. New filter epc_pass_email_recipient.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Pass Expiration system added <\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>New setup wizard and WooCommerce loyalty system added<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>New integration: The Events Calendar (event mapping; Event Tickets attendees; venue\/organizer fields; before-event push).<\/li>\n<li>Removed standalone Event Tickets module \u2014 use The Events Calendar only (avoids duplicate passes for the same attendee). Map events under EpassCard \u2192 The Events Calendar; Event Tickets remains required as the TEC add-on for attendees.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Free setup help notice updated<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>MemberPress card data fixed<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Pass link email setup fixed<\/li>\n<li>WooCommerce fatal error fixed<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>New integration: Paid Memberships Pro (level mapping, status-based pass behavior, expire push).<\/li>\n<li>New integration: Simple Membership (level mapping, account-state pass behavior, expire push).<\/li>\n<li>New integration: Event Tickets (ticket mapping; RSVP \/ Tickets Commerce \/ Woo attendees; before-event push).<\/li>\n<li>New integration: Events Manager (event mapping; booking status sync\/revoke; before-event push).<\/li>\n<li>New integration: PW WooCommerce Gift Cards (product mapping; create\/balance\/deactivate sync; expire push).<\/li>\n<li>New integration: YITH WooCommerce Gift Cards (product mapping; generation\/status\/balance sync; expire push).<\/li>\n<li>Mapping: Full name (<code>user_full_name<\/code>) source field across membership modules.<\/li>\n<li>Expiry: lifetime \/ empty mapped expiry dates send now + 99 years.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rebrand display name to EpassCard.<\/li>\n<li>Premium SaaS admin UI, AJAX settings saves, and related improvements.<\/li>\n<li>Readme SEO: expanded Apple Wallet, Google Wallet, pkpass, membership, WooCommerce, and wallet pass management keywords.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: Connection, MemberPress module, WooCommerce Subscriptions module.<\/li>\n<\/ul>","raw_excerpt":"Issue Apple Wallet &amp; Google Wallet passes from WordPress \u2013 WooCommerce loyalty cards, membership cards, event tickets &amp; gift cards. Free: 50 passes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/260628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=260628"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wooxperto"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=260628"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=260628"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=260628"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=260628"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=260628"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=260628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}