Is there any way to have e customer text box/note for the new buttons,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think this was possible with the old buttons, but not anymore. Can anyone confirm this? What I want is an option for the buyer to send a message to the seller when they make the payment, by either choosing to pay from their PP balance or by using a credit card. So the instructions box should be on the sellung site, not on the PP checkout page.
- Labels:
-
PayPal HTML Buttons
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
One way to enable customers to add a comment is to use the custom input in your form code. E.g. :
Enter your message:
<input type="text" name="custom"> or <textarea name="custom"></textarea>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @Josephtrevize,
In the context of the JavaScript SDK, there are the following available fields.
- reference_id
- description
- custom_id
For example :
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
reference_id: "Internal Reference ID for this Transaction.",
description: "Transaction Description",
custom_id: "127 Character string",
When implementing your buttons, the contents of the text box could be passed to one of these variables.
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Josephtrevize,
You're welcome. One way is to get the value of the comments box into your variable using the built-in JavaScript onblur() function, then pass it to your custom_id or description field.
This looks like the following on your page.
The result is visible in your transaction ...
Thank you.
Powered by Custom Software : NexWebSites.com
PayPal Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey @Nexus_Software
thanks for this idea.
Unfortunaly it´s seems like this doesn´t work for subscriptions.
plan_id: 'myplan',
quantity: 1 // The quantity of the product for a subscription
custom_id: "comment_txt"
Do you have an idea how to solve this?
Thanks ahead!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any help would be greatly appreciated if you could show me exactly how I can insert the coding into the code below for a text box (For personalization name) and a text/area field (for a gift message). The code is from the old Button factory generator which is deleted now.
Exactly where would I insert code?
Much like this code: https://www.paypal-community.com/t5/PayPal-Payments-Standard/Is-there-any-way-to-have-e-customer-tex...
-----------------------------------
<script src="https://www.paypal.com/sdk/js?client-id=INSERT_LIVE_KEY=venmo¤cy=USD" data-sdk-integration-source="button-factory"></script><script>
function initPayPalButton() {
var shipping = 8.95;
var itemOptions = document.querySelector("#smart-button-container #item-options");
var quantity = parseInt();
var quantitySelect = document.querySelector("#smart-button-container #quantitySelect");
if (!isNaN(quantity)) {
quantitySelect.style.visibility = "visible";
}
var orderDescription = 'Hanes T-shirt, Dream Big, #DBytertey4646';
if(orderDescription === '') {
orderDescription = 'Item';
}
paypal.Buttons({
style: {
shape: 'pill',
color: 'gold',
layout: 'vertical',
label: 'buynow',
},
createOrder: function(data, actions) {
var selectedItemDescription = itemOptions.options[itemOptions.selectedIndex].value;
var selectedItemPrice = parseFloat(itemOptions.options[itemOptions.selectedIndex].getAttribute("price"));
var tax = (7.5 === 0 || false) ? 0 : (selectedItemPrice * (parseFloat(7.5)/100));
if(quantitySelect.options.length > 0) {
quantity = parseInt(quantitySelect.options[quantitySelect.selectedIndex].value);
} else {
quantity = 1;
}
tax *= quantity;
tax = Math.round(tax * 100) / 100;
var priceTotal = quantity * selectedItemPrice + parseFloat(shipping) + tax;
priceTotal = Math.round(priceTotal * 100) / 100;
var itemTotalValue = Math.round((selectedItemPrice * quantity) * 100) / 100;
return actions.order.create({
purchase_units: [{
description: orderDescription,
amount: {
currency_code: 'USD',
value: priceTotal,
breakdown: {
item_total: {
currency_code: 'USD',
value: itemTotalValue,
},
shipping: {
currency_code: 'USD',
value: shipping,
},
tax_total: {
currency_code: 'USD',
value: tax,
}
}
},
items: [{
name: selectedItemDescription,
unit_amount: {
currency_code: 'USD',
value: selectedItemPrice,
},
quantity: quantity
}]
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(orderData) {
// Full available details
console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
// Show a success message within this page, e.g.
const element = document.getElementById('paypal-button-container');
element.innerHTML = '';
element.innerHTML = '<h3>Thank you for your payment!</h3>';
// Or go to another URL: actions.redirect('thank_you.html');
});
},
onError: function(err) {
console.log(err);
},
}).render('#paypal-button-container');
}
initPayPalButton();
</script>
Haven't Found your Answer?
It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.
- customer paying after failed subscription payment. in PayPal Payments Standard
- How will PayPal API Endpoint Platform migration impact legacy buttons? in PayPal Payments Standard
- Disable shipping address in Pay with Credit or Debit card button integration in SDKs
- please enable future transactions in my sandbox account in REST APIs
- Redirecting customers to PayPal for payment in PayPal Payments Standard