I need to integrate PayUMoney for my freelancer job portal, which is developed in PHP Codeigniter.
There are 3 types of user :
1) Employer (Job provider)
2) Freelancer (Person who's doing the job)
3) Broker (the portal takes commission for the transaction)
Currently the employer transfers fund to broker then broker transfers to freelancer. I need to transfer amounts from employer to freelancer directly by transferring the commission to the broker ? With this transaction the broker can get the commission and he doesn't need to track the balances and transfer to freelancer .
In order to set up Payu Gateway with your codeigniter application you need to follow the following steps :
Go to http://test.payumoney.com
Signup as a merchant and use any of your valid email address.
Complete the Business Details and Bank Account Details, you can use any random values as they are not going to verify it.
Go to Seller Dashboard -> Setting -> My account -> Profile Settings and note down the merchant Id
Now go to Seller Dashboard -> Setting -> My account -> Merchant Key Salt and email the Merchant Id to the email Id provided at that screen asking for Merchant Key Salt.
You can also download the payu money integration kit for php and modify the code provided in that kit according to your website
You can simply replace your test keys with the real ones provided to your customer on behalf of their bank account details after verification.
Some issues that might occur while submitting form will be regarding the product info field, make sure that the value field in the product info sums up to the total amount of transaction.
P.S. The product info is in the form of JSON.
NOTE : For breaking the amount you can modify the productInfo(required) parameter into which is in the form of JSON data providing the name and value key-value pairs. Also make sure that the sum of the value keys is equal to the total amount of transaction.
Related
We currently have a website that uses eWay token payments and setup Auto Order for customers. They can manage what items are in the auto orders and at what frequency the orders will be placed.
After the first order we can save the users 'Token' with eWay and charge their card at each instance.
We would like to add in the ability to pay with PayPal, but cannot see a similar feature where future orders can be placed without the user interacting.
The issue is that the price may differ from original payment, as discounts for the item may change or the user could add in other products to the auto order. So we don't want to have a repeat purchase setup in PayPal, rather automatically charge the users account when needed.
Been looking through paypal API docs and nothing is jumping out as the correct way to proceed.
We have tried payments through eWay to PayPal however they are not supporting paypal through their gateway anymore so are not much help.
Our website is PHP, Mysql driven and we currently use PayPalExpress checkout API for single orders.
For PayPal, the receiving account needs a feature called "reference transactions". This is not enabled by default in the live environment (though it is in sandbox). It requires business approval, so the PayPal account owner should contact PayPal's general customer support or an account manager (note: not technical support) to discuss the business need for the feature.
Once approved for the "reference transactions" feature on a live business account, PayPal can guide you on which API to best integrate to make use of this. Something like v2 or v3 vault and that API's payment tokens are a possibility that sounds exactly what you are describing, though there are other (older/legacy) APIs that use something called a "billing agreement" as what's effectively a token as well.
I am trying to enforce a currency for a transaction via the Braintree API but I cannot see how this is done. Stripe is very easy, as the currency (AUD, USD) is passed to the Stripe server as part of the execution.
With Braintree what I can see is that the currency is dependent on the merchant account receiving the money. My app will allow a user to invoice their customer, so the user will select the presentment currency of the invoice. I want to lock this selection to their merchant account currency.
If I understood this correctly, then pushing a transaction of MYR 250 (for example) and having a customer pay for this, if the merchant account behind the transaction is a EUR account, then the customer was presented by my app a MYR 250 value, but his CC is debited a EUR 250 value.
Is there a way to do this with Braintree? I want to do this with the standard merchant accounts and not under the Master Merchant set up.
Alternatively, is there a way to confirm the currency of an account from the Merchant Id / keys that a user supplies my app?
I have read the entire API docs, but I cannot see how this is done. Did i miss something? It has been a long week already!
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
It's possible to have different presentment currencies and settlement currencies. To set this up, please check out this section and email the Braintree Accounts team directly: accounts#braintreepayments.com
To confirm the currency associated with a MerchantAccount, you can call MerchantAccount.find using a merchant_account_id. With the MerchantAccount object, you can check its currency_iso_code attribute.
I'm building a website in PHP where users place bids on items. Once bidding has ended, a payment needs to be paid from the winning bidder to the listing owner. But, as the website owner, I also want to take a small percentage - say 5%.
So the process would be the winning bidder pays £100 to the listing owner, and I take 5% as that transaction takes place.
What's the best way of doing this?
I've read about PayPal MassPay, but I'm not sure whether it's what I need or not.
I'm in the UK too, not US - if that effects anything.
You can use Stripe Connect to do this if you're in the UK. You would ask your users to connect their Stripe account to your Connect Application first. You would get some data back, especially a publishable_key and an access_token which you would store on your end.
The you would use those this way:
On the front-end along with Stripe.js or Stripe Checkout you need to use the publishable_key you got from the connected user when going through the Connect flow. You should not use your API key.
Once you get a card token you send it to your server where you will create a charge. There, you should not set your API key but you should pass the access_token of the connected user as a second parameter to the Create Charge API. You can see some example code in the documentation showing how to collect fees.
This would automatically deposit the funds in the connected user's Stripe account minus the Stripe fee and the application_fee you chose. The fee would need to be a specific amount and not a percentage but you can calculate this on your end when creating the charge.
Based on your question, the solution would be as following:
Seller adds a listing on your website.
Bidding starts.
Buyer bids and win. E.g. for $10
Buyer pays using PayPal to your website, where money goes to your account (website owner).
You cut 5% of it, ($0.50) and do a Payout to seller's PayPal account of $9.50.
Optionally/Generally, website owners hold the money till the end of the month, and pay the seller the final amount, (if he is selling more than one thing, or he is a big merchant.)
However, the flow should help you setup a website based on your preferences. Many websites like eBay, Free lancing, apply the similar flow.
As a PayPal Employee, I would recommend using PayPal PHP SDK for developing. All the instructions are provided here and here
I want to make an online enrollment system using Paypal pro API. I want to have an option to pay tuition fee in an installment using Credit card. To do this , I am creating Recurring Payment profile using Paypal Pro. I am able to successfully create the recurring payment profile & store initial payment information into database.
Now When the next recurring payment happens, I want to store the the payment information into my database with some identity parameters such as Payee Id , PayeeEmail , PayeeEnrolledDepartmentId.
I have heard about IPN(Instant payment notification) Service in Paypal pro. But the main problem is , When i Create Recurring profile for the first time, I would like to send some Identity parameter such as Id, Email etc so that when the next time the IPN script is executed , I am able to recognize & store payment information with the correct identification.
How can I do this ? Please assist me with some useful techniques or codes.
When PayPal creates the profile, it will create and associate a profile ID with the buyer. You could use this as a unique identifying value. If you are wanting to pass over your own, you could pass over something in the description "DESC" variable.
This is driving me crazy! I can't get the PayPal express (Payflow?) api to work....
paypal sandbox tells me:
Test Account: AAAA.B_CCCCCCCCCC_biz#XXXXX.com
API Username: AAAA.B_CCCCCCCCCC_biz_api1.XXXXX.com
API Password: DDDDDDDDDD
Signature: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
in the paypayfunctions.php i wrote:
$API_User="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Password="DDDDDDDDDD";
$API_Vendor="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Partner="PayPal";
...
And when I test the service, all i get is "SetExpressCheckoutDetails API call failed. Error Message: Invalid vendor accountError Code: 26"
The PayPal documentation and examples are terribly complex, all I want to do is having a simple button that links to paypal to start the payment of XXX euro's to account YYYY....
Can anyone help me?
Thanks in advance!
Express Checkout and Payflow are two separate PayPal services. Your sandbox credentials (which include a signature) are for Express Checkout. The script asks for a partner, which is specific to Payflow.
What do you want to use? Express Checkout or Payflow? See the paragraphs below for more information on the two.
Are you sure the script is for Express Checkout?
Is the script connecting to the sandbox or live API? The Express Checkout sandbox API is located at https://api-3t.sandbox.paypal.com/nvp.
Express Checkout is primarily used for payments using a PayPal account. You can set up a sandbox environment at developer.paypal.com. Within the sandbox you can create test accounts, at sandbox.paypal.com. See the PayPal API Reference for more details.
Payflow is a payment gateway that allows you to pay using a credit card or checks, among others. PayPal accounts are not supported by Payflow. You can sign up for an account, which can be used for testing and real payments after you upgrade the account. See the User's Guide for Payflow Link (PDF) for more details.
Issue
PayPal returned result code 26 - Invalid vendor account when processing a transaction.
Cause
You may get result code 26 if:
You just activated your account.
A vendor account doesn't become active until at least an hour after it was created. Typically, a database update begins at 20 minutes past the hour and lasts about 20 minutes. If your account becomes active while the database is updating (after the 20-minute mark), you must wait until after the next hour's update before you can use it.
The login information is incorrect.
Verify the information you entered in the User, Vendor, Partner, and Password fields.
Check that you sent the correct Partner value.
The primary user's Merchant ID should be in the User field. For a secondary Payflow Pro user, the User field should contain the password assigned by the primary user.
All fields are case-sensitive.
**
The bank BIN number is unknown.
** For PayPal Australia (VSA) only, result code 26 indicates that the customer's credit card is issued by a credit union or small financial institution. The processor, FDRA, has no bank identification number (BIN) on file for the card, which triggers the error message,"No Universal Account - Response code 42." You must get another credit card or form of payment from your customer.
Solution
Check that all values in use are both correct values and proper case (all values are case-sensitive).