You can set up your own digital shop on the Internet with the help of PayPal and Google Scripts. You upload your file on Google Drive, the buyer makes a purchase through PayPal and Google Apps Script will deliver the file to the buyer through Gmail.
See: Sell Digital Products Online
/* PayPal Shop with Apps Script */
/* Add the PayPal Item Ids and Google Drive Files names here */
PAYPAL = [
['product-001', 'useful-websites-book.pdf'],
['product-002', 'linux-training-course.mp4'],
['product-003', 'labnol-audio-book.mp3'],
['product-004', 'presentation-template.ppt'],
];
/* The script will scan your Gmail inbox every 5 minutes for PayPal emails */
function PayPal() {
ScriptApp.newTrigger('myShop').timeBased().everyMinutes(5).create();
}
function myShop() {
var file, size, files, threads;
for (var p in PAYPAL) {
threads = GmailApp.search('is:unread from:paypal ' + PAYPAL[p][0]);
if (threads.length > 0) {
/* Find the file in Google Drive */
files = DriveApp.searchFiles('title contains "' + PAYPAL[p][1] + '"');
if (files.hasNext()) {
file = files.next();
size = file.getSize() / (1024 * 1024);
for (var i = 0; i < threads.length; i++) {
/* The PayPal transaction emails container the buyer's email in the Reply-To field */
var buyer = threads[i].getMessages()[0].getReplyTo();
var subject = 'Thank you for your purchase';
var body = 'Please download the file using the link below.\n\n';
/* Check the size of the Google Drive file (in MB) */
if (size > 20) {
file.addViewer(buyer); /* For big files, share the file with the buyer */
GmailApp.sendEmail(buyer, subject, body + file.getUrl());
} else {
/* Else attach the file in the email message itself */
GmailApp.sendEmail(buyer, subject, body, { attachments: file.getBlob() });
}
/* Move the PayPal email to Archive and Mark it as Read */
threads[i].markRead().moveToArchive();
}
}
}
}
}