I've encountered an issue with Paypal Standard integration that I don't really know how to approach. Let's say I've got a product that costs 0.019, of which I'm buying 100. For this situation, the form should look like:
<input type="hidden" name="amount" value="1.9">
<input type="hidden" name="amount_1" value="0.019">
<input type="hidden" name="quantity_1" value="100">
However, due to the Paypal double precision, the amount_1 field is incorrect.
I can do rounding, which will give me this:
<input type="hidden" name="amount" value="1.9">
<input type="hidden" name="amount_1" value="0.02">
<input type="hidden" name="quantity_1" value="100">
but this on the other hand will provide me with wrong total, of 2 (as the amount field will be ignored).
Is there any sensible way of handling this issue (apart for grouping the objects I'm selling)? I don't think I've seen any Paypal precision related questions :/
Edit: I can (and am) round the amount value, for the total of the order. I need however to display how many items the user buys.
When I was writing a store with 3 decimal places for pricing on large volume items (resistors, LEDs, diodes etc) we had to use line totals (and rounding) for dealing with PayPal.
Thus, our own internal system took care of volumes (as makes sense for order tracking, invoicing, packing, stock control etc) and PayPal just took the cash, whilst we could still track what was sold via PayPal if we had too (payment taken but error internally).
PayPal Example Invoice:
| Qty | Desc | Price | Line Total |
| 1 | Green LED 100 Units at $0.019 | $1.90 | $1.90 |
Large electronics distributor digikey.com uses this method.
Your issue is that you're not dealing with standard amounts. I don't believe I've ever seen anybody price something like you're showing here. You really have a price tag on an item of $0.019? That would be very confusing to buyers, I would think. You might simply consider adjusting your price so it follows standards.
Alternatively, you could go ahead and round like you said, which would give you the $2.00 total, but then you could add a 10¢ discount to get back to $1.90.
Related
I have two plans.
The first one is 4.99€.
The second one is 9.99€.
When using prorate_charges = true option.
I pick the 4.99€ subscription, the transaction amount is 4,99 €.
Now I want to upgrade from the 4.99€ plan to the 9.99€ plan and apply the prorate charges. I should pay 5€ on day one since 9.99€ - 4.99€ but instead of paying 5€, braintree generate a transaction with an amount of 4,83 € and I don't know why. The billing cycle is set to one month but It looks like it calculate the proration without 1 day.
basic question I created the following variables in Buy Now button:
discount_amount=0
discount_amount2=10.00
discount_num=2
the idea is to give a 5 euro discount for each product when a client buys 2 or more of the product, but on the third purchase it subtracts 10 euros, how do i apply a 5 euro discount per product for 2 or more purchases?
The Buy Now button's variables are not "smart" enough to meet your request. Maybe you have to write some JS code to calculate the total amount dynamically, or use select box to list the possible quantity like below
<select name="amount">
<option value="100">1 piece</option>
<option value="190">2 pieces</option>
<option value="285">3 pieces</option>
...
</select>
For having deprecated IIF, you'd think Intuit would make it easier to map the calls but I've found myself in something of a corner.
I have a fairly old script mapping our stuff to IIF.
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM MEMO CLEAR REP PAYMETH ADDR1 ADDR2 ADDR3 ADDR4
!SPL TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM MEMO CLEAR QNTY PRICE INVITEM PAYMETH EXTRA
!ENDTRNS
TRNS PAYMENT 1/21/2010 Paypal Account Dear Customer 1230.9 PAYPAL - Invoice123 N PAYPAL Dear Customer 123 Dear Dr
SPL PAYMENT 1/21/2010 Accounts Receivable Dear Customer -1230.9 Invoice123 PAYPAL - Invoice123 N PAYPAL
ENDTRNS
TRNS CHECK 1/21/2010 Paypal Account Paypal Account -29.84 Transaction Fees - Invoice123 N
SPL CHECK 1/21/2010 Fees:Paypal Fees Dear Customer 29.84 Transaction Fees - Invoice123 N
ENDTRNS
Now, I have a script that handles the customer and finding the right record in QB but I'm trying to find the right call to put all these records in. It looks like the first two can fit into ReceivePaymentAddRq but it's less clear on the second set.
Then I have another set that starts with BILL
TRNS BILL 5/15/2014 Accounts Payable Our Vendor -344.81 450608 N 6/14/2014 Net 30
SPL BILL 5/15/2014 Cost of Goods Sold:Purchases Dear Customer 344.81 450608 Invoice123 N
ENDTRNS
I think both fall under BillAdd but that COGS line could also fall under ChargeAdd
The transaction type PAYMENT would indeed be a ReceivePaymentAddRq. The CHECK type would be a CheckAddRq as you are not effecting an Accounts Receivable account. The transaction type of BILL would be a BillAddRq, as you are wanting to effect Accounts Payable. The ChargeAddRq is used for a customer charge, which is not the same as a CreditCardChargeAddRq.
It helps to have used QuickBooks manually a bit to understand the types of transactions that are used, but here's a quick little reference (these include the AddRq, QueryRq and ModRq where applicable). Note that this is not 100% as there are situations where you might use a different transaction type, but it's a good starting point:
Effect Accounts Receivable:
Invoice
ReceivePayment
Charge
CreditMemo
Effect Accounts Payable:
Bill
ItemReceipt
VendorCredit
BillPaymentCheck
BillPaymentCreditCard
Effect Bank Account:
Check
Deposit
Effect Credit Card Account:
CreditCardCharge
CreditCardCredit
my app product defined USD,and not defined GBP.when I use GBP to pay, the pay dialog return
the error that Sorry, there was a problem and we can’t complete your request. Please try again later.
I'm confusion about that,the facebook offical doucument show that If you do not define a price point for a particular local currency, users of that currency will have their price automatically calculated based upon the current exchange rate between the first currency you specify and that target currency.
Can anyone help me?
Could it be that you were trying 0.01 USD? that converts to less than 0.01 GBP
Defining a single unit of in-game currency that has a product:price:amount less than 0.01. For example, selling 1,000 Coins for USD 1.00 would require a unit price of 0.001, which is not supported.
https://developers.facebook.com/docs/howtos/payments/definingproducts/#pricing_static
I am using the PayPal url approach which works well but when I try charge tax it only seems to apply the tax to the total value of all of the goods, whereas I would like to charge Tax on the Total goods + Shipping, ie
Goods $100.00,
Shipping $20.00,
SubTotal $120.00,
Tax (10%) $12.00,
Grand Total $132.00
This is what I have
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart&business=xxxxxxxxxxxxxx_biz#gmail.com&button_subtype=services&upload=1&no_note=1¤cy_code=USD&rm=1&item_name_1=Product1&amount_1=200.00&quantity_1=2&item_name_2=Product2&amount_2=200.00&quantity_2=22&shipping_2=6&tax_1=10&tax_2=10&return=http://staging.xxxx.com/store/success.aspx&cancel_return=http://staging.xxxx.com/store/failed.aspx
I made a change to the tax variable to apply a rate rather than an amount. At this time PayPal doesn't charge tax including shipping as services are typically not taxable.
If this is a requirement I'd recommend calculating the total tax amount on your site before sending the Post to PayPal. The value can be entered in the tax_1 field. I've shown an example of this in the second post.
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart
&business=xxxxxxxxxxxxxx_biz#gmail.com
&button_subtype=services
&upload=1
&no_note=1
¤cy_code=USD
&rm=1
&item_name_1=Product1
&amount_1=200.00
&quantity_1=2
&item_name_2=Product2
&amount_2=200.00
&quantity_2=2
&shipping_2=6
&tax_rate_1=10
&tax_rate_2=10
&return=http://staging.xxxx.com/store/success.aspx
&cancel_return=http://staging.xxxx.com/store/failed.aspx
Here's an example with you calculating the amount. Notice you're only sending one tax amount rather than a tax amount for each item. PayPal doesn't show itemized tax amounts to the customer so there is no impact on the customer's end.
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart
&business=xxxxxxxxxxxxxx_biz#gmail.com
&button_subtype=services
&upload=1
&no_note=1
¤cy_code=USD
&rm=1
&item_name_1=Product1
&amount_1=200.00
&quantity_1=2
&item_name_2=Product2
&amount_2=200.00
&quantity_2=2
&shipping_2=6
&tax_1=10
&return=http://staging.xxxx.com/store/success.aspx
&cancel_return=http://staging.xxxx.com/store/failed.aspx