Plenty of popular online shops allow their customers to buy gift cards for themselves or others. Thanks to Gift Up!, you can add such functionality to your own site. It lets you sell your own gift cards in WordPress with your branding. You can sell gift certificates in any currency and set expiration dates for them.
Gift Up! can be easily added to your site with a simple shortcode. It lets you design your own gift cards or choose from the existing designs available. You will be able to monitor your orders and activity through the dashboard.
This plugin integrates with services like MailChimp too. You can find out more about it here.