问题描述
我有这个paypal智能按钮,正准备将其放在我的网站上,该网站向希望购买它的用户出售文件,但是我不知道如何从按钮页面上的javascript收集该人的电子邮件谁进行交易并将其发布到Google工作表。以下是我创建的无法正常工作的内容。
<body>
<!-- Set up a container element for the button -->
<div id="paypal-button-container"></div>
<!-- Include the PayPal JavaScript SDK -->
<script src="https://www.paypal.com/sdk/js?clientId"></script>
<script>
// Render the PayPal button into #paypal-button-container
paypal.Buttons({
// Set up the transaction
createOrder: function(data,actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: '5.0'
}
}]
});
},// Finalize the transaction
onApprove: function(data,actions) {
return actions.order.capture().then(function(details) {
// Show a success message to the buyer
const scriptURL = 'https://script.google.com/macros/s/AKfycbfadsfdkjlbskjfbadsjkfadskjfb/exec'
var email= details.payer.email_address;
var form = new FormData(form);
form.append('email',email);
e => {
e.preventDefault()
fetch(scriptURL,{ method: 'POST',body: form})
.then(response => console.log('Success!',response))
.catch(error => console.error('Error!',error.message))
}
alert('Transaction completed by ' + details.payer.email_address + '!'+email);
});
}
}).render('#paypal-button-container');
</script>
</body>
我正试图将其与Google工作表连接,该工作表将在列中列出所有电子邮件,并将购买的文件通过电子邮件发送到付款电子邮件“ details.payer.email_address”,脚本上的代码如下
function doPost (e) {
var lock = LockService.getScriptLock()
lock.tryLock(10000)
try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
var sheet = doc.getSheetByName(sheetName)
var headers = sheet.getRange(1,1,sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1
var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : e.parameter[header]
})
sheet.getRange(nextRow,newRow.length).setValues([newRow]);
var html = HtmlService.createTemplateFromFile('email.html');
var htmlText = html.evaluate().getContent();
var emailto = e.parameter[email];
//var emailto = e.response.getRespondentEmail();
var subject = "thanks for subscribing"
var textBody = "This email requires HTML support."
var options={ htmlBody: htmlText };
if (emailto !== undefined){
GmailApp.sendEmail(emailto,subject,textBody,options);
}
return ContentService
.createtextoutput(JSON.stringify({ 'result': 'success','row': nextRow }))
.setMimeType(ContentService.MimeType.JSON);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)