Category Archives: Samples

Creating and Processing an order using the PayPal REST APIs

By

I am happy to announce that we’ve added the ability to create and process an order to the PayPal REST APIs.

Getting Started

To get started, follow this tutorial. To create and process an order, you can use the following steps:

  1. Create the order.
  2. Get customer approval.
  3. Execute the order.
  4. Authorize an order.
  5. Capture an order.

Creating a PayPal Order indicates that the buyer has consented to the purchase but does not place the funds on hold. After creating the Order, you can capture the order directly without any additional authorization, or you can create an authorization API call to place funds on hold until you are ready to capture. Since the order does not place funds on hold, it is advised that you follow the second approach and create an authorization instead of capturing an Order directly.

This technique is often used by merchants who accept orders for varying items, some of which may not be available for shipment at the time the order is placed (for example: a website that allows customers to buy multiple items from different retailers with different shipping dates, managing the retailer billing as each item ships). Subsequent basic authorizations are made as the items become available. These authorizations ensure that the customer still has the funds available to purchase each item. You can make up to 10 basic authorizations for each Order.

An order is valid for 29 days. Within this period, you can request one or many authorizations to ensure the availably of funds. The sum of the total open authorizations can’t exceed 115% or $75 (whichever is less) of the amount provided to PayPal when the order was created.

To Infinity and Beyond!

Payments have always been very exciting to us and we look forward to see what cool applications you build with these new REST APIs.

As always your feedback is welcome and we look forward to find ways to improve and serve you better.

PayPal Here Sideloader API

By

ava_tim **Update:** Please check out our [updated documentation][1] for the PayPal Here Sideloader API!

As you might have seen on popular blogs like

TechCrunch we’ve recently launched a PayPal Here device for the UK which is capable of doing Chip & PIN. This allows merchants to accept Credit & Debit cards that can or may not be swiped. In our keynote Mobile Meets Retail at the Mobile World Congress our Director of Developer Network John Lunn and I’ve been introducing an awesome feature which is both supported for the US & UK / EMEA device: our Sideloader API. Basically this API allows developers to accept payments via cash, credit card, debit card, invoices and our checkin feature just by utilizing a very simple url scheme and our PayPal Here application for both Android and iOS.

How it works

Our application can be accessed by providing an encoded invoice & a callback URL which opens up your own application and returns transaction data.

paypalhere://takePayment?
acceped=cash,card,paypal // optional
&returnUrl=your app’s callback
&as=b64 // optional
&step=choosePayment
&payerPhone=the payer’s phone number // optional
&invoice=your invoice as JSON (encoded)

The callback URL has to be setup like this:

yourScheme://yourHost/?{result}
?Type={Type}
&InvoiceId={InvoiceId}
&Tip={Tip}
&Email={Email}
&TxId={TxId}

Finally your invoice has to be declared in this JSON format:

{
merchantEmail: "yourmail@merchant.com",
itemList: {
item: [
{
name: "Name",
description: "An item",
quantity: "2.0",
unitPrice: "10.0",
taxName: "Tax",
taxRate: "8.5"
}
]
},
currencyCode: "USD",
paymentTerms: "DueOnReceipt",
discountPercent: "0.0"
}

Samples

To help you with your integration we’ve developed three very simple samples that show how the integration actually works. While the

Android & iOS samples use native code to interact with our application the third sample presents a way that enables every website to utilize PayPal Here to accept payments on the go.

Engage with us

We’d be happy to see your feedback. If you experience any issues: File an

issue at our GitHub project. Having a great idea that helps to improve the samples? Open a pull request! Looking forward to seeing your integrations!