What is the distinction between a payment and transaction in the Xero API? - api

What is the distinction between a payment and transaction in the Xero API? Does a payment create a transaction? Or are transactions only created when they are manually added? Are all organic transactions coming in as payments, rather than transactions?

A Journal entry is created for every type of transaction in Xero. So for the most comprehensive endpoint of the API I'd start there. However the greater level of detail will exist in the supplementary endpoints like invoices, bills, spent money, receive money.
There are other threads on here talking about the difference between "Bank Transactions" and the other API endpoints, as this actually excludes transactions that show in Xero but are not accessible through this specific endpoint.

Related

Late fees for customer profiles with or without recurring billing subscriptions in authorize.net

For a school that has many enrollments of children and their parents making payments, is there a way in the Authorize.net API to charge customer profiles late fees? They may be enrolled in recurring billing subscriptions or not. Does authorize.net allow late fees and balances to be paid? I'm wondering how to implement this with the APIs.
I find these APIs helpful, but not the complete solution:
* Create a Subscription from Customer Profile
* Get Customer Profile
* Get Customer Payment Profile
There is no API call for handling with late fees. If your amounts to charge are going to vary for any reason, adding late fees being an example, you would want to build your own engine for making payments. The best way to do this is to use the CIM API to create and manage payment accounts and then charge against them. That way you can charge a varying amount if a late fee needs to be added. Of course this means you are responsible for handling all payments and cannot count on a built in scheduling engine like the one provided by the ARB API.

Xero API - Bank transactions missing

The Xero API doesn't seem to return all bank transactions through the bank transactions endpoint. At least some transactions that are attached to payments and transfers don't seem to be returned. Is there a way around this?
I had the same problem and here is what I got from Xero support:
There are some differences between the BankTransactions API endpoint and the Bank >Transactions screen in the UI.
Most importantly the endpoint does not return payments applied to invoices, expense >claims or transfers between bank accounts. Most of these can be retrieved using other >endpoints.
So it seems that you should use Payments API instead.
The workaround I did was to download both Bank transactions and invoices and union all transactions (I only needed references anyway), but it might make more sense to use Payments API.

Current PayPal Fees in web API?

Does anyone know if there is a publicly available PayPal resource that would allow me to calculate transaction fees in my Magento code?
For example, if someone buys something for $1.00, I'd like to know if $0.15 of that is a PayPal fee.
If there were a resource, like paypal.com/currentfees.xml or something that I could readout in my PHP code, I could that. Does it exist? I know there are different fees for different payment methods (e.g., AMEX) and fees could change at any time -> So it'd be good to have a dynamic way to calculate how much of Magento's order totals are really PayPal fees.
EDIT: To clarify, I'm not interested in charging customers more, just in knowing how much of my price is going to fees. For bookkeeping.
Thanks!
PayPal fees are not the same across accounts or even by transaction; there are different fees for cross-border transactions, PayPal Here transactions, large-merchant discounts, et cetera.
Have a look at https://www.paypal.com/webapps/mpp/paypal-fees for more detail.
So no, unfortunately you can't pull a resource to find the current fee.
However, PayPal does return the fees paid for each transaction in the API response.
For example, if you're integrated with PayPal Express Checkout, the DoExpressCheckoutPayment API (doc) is used to finalize a transaction. This API call returns a 'PAYMENTINFO_0_FEEAMT' parameter which contains the total fee amount paid for the transaction.
Should you wish to retrieve this information after the transaction has been completed; PayPal also offers the GetTransactionDetails API call (doc). This API call also returns 'FEEAMT' as a parameter.
Simply submit the TRANSACTIONID and read out the FEEAMT.
Note: Fees are only calculated on completed transactions. You won't get a FEEAMT back for any order or authorization-ID's (e.g. those starting with O-xxxxxxxx).

Payment Gateway process

I have to integrate a payment gateway in my web app. I am negotiating with PGs to get most suitable offer. Most of them have:
Setup Fees
Annual/Monthly Fees.
Per Transaction Fees (1%-5%)
Rule of thumb is- Higher the setup fees, lower Transaction Fees.
My question here is "Are payment gateways compulsory?" I have used several sites like ebay, flipkart, amazon etc which take credit card info directly on their portal, authorizing it directly from bank, bypassing 3rd party payment gateways. (This is how it seems.)
What happens behind the scenes here? What is the process to directly accept payments and authorize it from bank?
What tentative transaction volume is needed to make the above scenario profitable?
I used to work for bluesnap (previously called Plimus) which is an on-line payment-processing company. A payment-processing company - is a company that authorizes and charges the credit-card against the processing gateways.
Many people confuse payment-processing companies with processing gateways. As a small business you can either use one of the payment-processing companies or use self-service such as Authorize.net, Paypal etc.
There are plenty of resources over the web that explain about payment-processing but I don't think that it will be very interesting to read, unless you decide to build your own gateway...
In order to work directly against one of the gateways you need to process millions of transactions per day - which I don't believe you have the capacity.

Parallel credit card payments (akin to Paypal Adaptive payments)

I'm not sure this is the right place to ask but anyway:
I have an e-commerce platform that I want to monetize based on a percentage of revenue made (eg. a store that uses my platform has an order for $100, so I get 1% or $1, while they get $99).
Currently I offer paypal and credit card payments (via my merchant bank) to all stores on the platform (ie. all payments made, regardless of the store, are through the same paypal and merchant account). I then pay these stores per month which is ok for the moment because there are only a few stores using the platform.
Moving forward I want to automate this process and ideally have it operate in real time.
Paypal have an "Adaptive Payments" API that allows chained or parallel payments on a single transaction processed in real time. This means I can skim my 1% and pass the rest of the money along my customer in real time.
I was wondering if there is a similar real-time service for Credit Card processing*? If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
*I realise you can process credit card payments through Paypal without having to sign up, but this is less than ideal. I want the credit card processing to happen on my page as at the moment I'm seeing about 70% of orders using this over paypal.
I was wondering if there is a similar real-time service for Credit Card processing?
No there isn't. True merchant accounts do not allow for split payments. Only one entity can receive a payment and it must be the business the merchant account has been set up for. Receiving the payment for someone else is called factoring and is against all of the major credit card issuers' rules. If a merchant account is found to be factoring it will be closed and the merchant who owns the account will be blacklist. This will prevent them from ever having a true merchant account again. Additionally, there is no way to send money with a merchant account other then issuing a refund for prior purchases.
If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
Other then using adaptive payments, this is definitely the easiest and most straight forward way to accomplish this.