贝宝Paypal智能按钮,可通过Google表格发送附件中的附件并通过电子邮件发送给买方

问题描述

我有这个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 (将#修改为@)