I am developing an e-commerce website that let's people fund their accounts via PayPal. In order to not taking hits on deposits every day, we have to charge PayPals fees to the customer for their deposit. PayPal takes 2.9 + .30. However, if we charged 2.9 + .30 then PayPal takes their fees on the new total.
So on 100$ we would charge 103.20 to deposit 100, but PayPal now takes 103.29 and we take a .09c hit on that deposit.
How could I create a forumla to be left with exactly their deposit amount after PayPal takes 2.9 + .30?
Thanks!
You are mixing up Addition of a percentage with Subtraction of a percentage:
IMHO the correct way to look at this ist, to say PayPal leaves you with 97.1% of the original balance -0.3
so the correct value is 103.28661174..., at which I arrived with (100/0.971)+0.3
Trying this out: From the 103.28661174 PayPal will take 0.30, leaving 102.98661174, from which it will take 2.9%, or 2.98661174..., leaving you with 100
Related
So i was integrating my app with paypal for express checkout and could not figure out how to add in my gst/hst number for Canada to the receipt.
it is mandatory if i am to charge taxes in Canadian shipment, that the gst/hst number be visible in the receipt, but cant seem to figure this out.
any help would be appreciated!
below is an example of my receipt but i want to add some additional content for the gst/hst number. where would i be able to and how.
references:
https://developer.paypal.com/docs/api/orders/v2
https://turbotax.intuit.ca/tips/self-employed-business-win-creating-cra-compliant-invoice-8827#:~:text=It%20is%20very%20important%20that,you%20cannot%20charge%20GST%2FHST.
ANSWER:
so this is just a trick around it since i couldnt find a proper solution, but i just add in another item with the GST/HST Number. i leave the cost of it to 0 so it does not affect the total price but the buyer is still able to get the gst/hst number on their receipt.
The amount key can include a breakdown key, which is an object of type amount_breakdown documented here: https://developer.paypal.com/docs/api/orders/v2/#definition-amount_breakdown
tax_total is the key name of one of the objects you can include in the breakdown.
The breakdown's subtotals must add up to the actual amount value.
I have two testnet nodes set up at home.
I'm testing sending between them, all communication is working just fine!
I just tried to send 0.0003 from A->B
This is my tx:
https://live.blockcypher.com/btc-testnet/tx/dc7a9ba7e01efe04ae6b757d1832d4287b95105f6a1e88eb314a926919d1c32b/
I used sendtoaddress and set the receiver to charge the fees. (5th argument set to true)
I'd created a new address: 2N8yYvrbAxKm9nhS8fDCZng1GRVwvxhUy8n
on Server B seconds before using that new address to send from A->B
How can I find out more about why I was charged
0.01010081 BTC to 2N3HvqWY8sQ59mqHDXeWAd6tV8LWR7pmNnY
I assume this is the wallet of the node that validated the transaction?
I'm using jsonRPC and here is my call:
sendtoaddress(
'2N8yYvrbAxKm9nhS8fDCZng1GRVwvxhUy8n',
'0.0003',
'test from local to MT',
'Message for MT to see?',
true
)
rawtransactions confuse me I'll be honest.
I'm assuming that I need to get over that, but before I do, why was I charged a fee many 100% higher than my transaction?
Cheers!
The output to 2N3HvqWY8sQ59mqHDXeWAd6tV8LWR7pmNnY is your change.
Bitcoin tracks money in a way similar to physical cash. Your balance is composed of many individual outputs, each of a specific value, similar to how your physical wallet balance is composed of many individual notes, each of a specific value (for example, someone with $25 in their wallet might have $20 + $5 in notes).
When you spend Bitcoin, you must consume an existing output in full. As it is uncommon for someone to have outputs that sum up precisely to their desired send amount + fees, any left over value from the outputs used by the transactions are returned to an address in your sending wallet as change.
I am using PayPal's express checkout authorisation and capture API, the documentation describes the following limits.
AMT
(Required) Amount to capture.
Character length and limitations:
Value is typically a positive number that cannot exceed 10,000.00 USD
and
An authorization enables you to capture multiple payments up to 115% of, or USD $75 more than, the amount you specify in the DoExpressCheckoutPayment request.
I've spent a great deal of time looking as to what these limits would be in other currencies (specifically GBP) with no success. Does anyone know if these are documented somewhere ?
The limit for any other currency except for JPY is any amount in that currency that equivalent to 10,000 USD.
I have experienced a problem similar to this question, while trying to make my discounts work with SetExpressCheckout.
I've resolved to use the method the accepted answer's author suggests: creating an additional product named "discount" with a negative value.
This is not too bad, but I'm getting fed up to have to accommodate Paypal with all the changes I make on my cart, and basically send the whole cart to Amazon when the customer has already had plenty of opportunities to check it while on my website and he now just wants to pay.
I would prefer to send the customer to a blank Paypal payment page, without the cart on the left.
Is this possible with Paypal Express Checkout? Any alternative?
If you go thru Paypal Express Checkout then it possible to give discount
(1) – Item name. The item name can identify this item to distinguish it from other line items in the order.
(2) – Item description. This field identifies which of several items the buyer is purchasing. For example, you may be offering an item in different sizes. Knowing the size helps the buyer decide whether the one they selected was appropriate. If the item is an eBay auction item, it is recommended that you provide the phrase "eBay item" in this field.
(3) – Item number. Each item can be further identified by an item number. If the item is an eBay auction item, it is recommended that you provide the eBay item number in this field.
(4) – Item unit price. This field specifies exactly how much one unit of the item costs. It can be a positive or negative value but not zero.
(5) – Item unit quantity. This field identifies the number of units the buyer is ordering. PayPal calculates the value in the Amount (6) column as the product of line-item unit price and line-item unit quantity. You can also show other detailed information about the order:
(7) – Item total and tax, which are the total of all items in the order and the tax, respectively.
(8) – Shipping and handling, which is the sum of the shipping and handling amounts.
Note: You must determine actual shipping and handling amounts.
(9) – Shipping discount. If the buyer is receiving a discount on shipping, the value appears as a credit in this field.
(10) – Insurance. This field shows the insurance fee when there is insurance on shipping.
(11) – Total. This is the total of the order, including shipping, handling, tax, and other price adjustment-related items.
visit the link ...to get more info https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECCustomizing/
NO, you can not send to the customer to a blank Paypal payment page, without the cart on the left. Because you can not say: I'm not selling anything and give me your money.
But alternative, you can do this way:
Change your coffee = $200 instead of $20 for total prize. And you don't need to list anything else after.
I have, in my opinion, pretty complex order case to implement. Paypal was choosen as a solution, but I can't figure it out how to implement it properly using express checkout (or anything else, but I am not sure what is proper to use).
Final order that can consist of (most complex example here):
subscription A with 1 month free trial - 100$/year
subscription B without free trial - 200$/year
initial payment for entire order - 50$
Requirements:
start of the whole order can be postponed due to some factors (I can set PROFILESTARTDATE to the given date)
all subscriptions in the order can be either monthly or yearly, so case where subscription A is paid per year and subscription B per month IS NOT ALLOWED
whole order must be processed in one paypal redirect (paypal page with products listed where client can login to confirm the order)
My problem:
in that order subscription A starts 1 month later than B but I can only set one PROFILESTARTDATE
I could use TRIAL*** parameters (like TRIALBILLINGPERIOD) for subscription B but I can only set one such parameter per paypal request for express checkout, so same problem as above
What would be a best option for such case ?