PayAnywhereSdk allows your application or website to use PayAnywhere as payment solution. Whenever your app/website need to process a credit card payment
you can invoke PayAnywhere with an easy to use interface and pass required amount that need to be charge. Than PayAnywhere will take control of
credit card processing and send you payment response i.e. transactionApproved (along with transactionUniqueId), transactionDeclined, or transactionCancelled.

VersionWhats NewSDKDocumentationSample AppOthers
1.0





1.2.0Added Bluetooth reader and Wisepad 2 reader support.
Added Pin Debit Support



Same as above


1.3.0Added Void/Refund Support





1.3.1#Added PreAuth and Complete PreAuth Supports

#Added Portrait and Landscape Orientation support

#Added Tips Adjustment supports.
**Currently tips adjustment is only supported on Global accounts.
**Tip adjust can be done anytime while the batch is still open. Our current batch end time is 5 pm EST for Global Accounts

#Changes for onActivityResult Extras
  1. transactionResult = transactionApproved/TransactionDeclined/TransactionCancelled Approved/Declined/Cancelled/GeneralError etc
  2. instead of transactionActionResponse for void/refund, we are now passing transactionResult extras.
  3. instead of transactionActionStatusMessage for void/refund, we are now passing transactionStatusMessage extras.
  4. instead of refundVoidTransactionId for void/refund, we are now passing transactionUniqueId extras.





1.3.2

#Added Receipt printing support for Sale, PreAuth, Complete PreAuth, Void and Refund

#Changes for void and refund request

  1. User need to pass receiptId for void and refund transactions. Just like PreAuth Complete Transaction.

  2. Request will look like for Refund

    Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse(payanywhere://refund/?transactionUniqueId=ccs_50187&receiptId=317748502&refundAmount=0.07));
    startActivityForResult(intent, REFUND_VOID_REQUEST_CODE);

    instead of

    Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse(payanywhere://refund/?transactionUniqueId=ccs_50187&refundAmount=0.07));
    startActivityForResult(intent, REFUND_VOID_REQUEST_CODE);

  3. Request will look like for Void

    Intent intent = 
    new Intent(Intent.ACTION_VIEW , Uri.parse(payanywhere://void/?transactionUniqueId=ccs_50187&receiptId=317748502));
    startActivityForResult(intent, REFUND_VOID_REQUEST_CODE);

    instead of

    Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse(payanywhere://void/?transactionUniqueId=ccs_50187));
    startActivityForResult(intent, REFUND_VOID_REQUEST_CODE);





1.4.0

#Added EPX Tips Adjustment


#Added EPX Partial Auth

#Added Partial Auth EMV Support

#Small Bug Fixes and Improvement 






1.4.2

#Added Recurring Payment (For EPX Customer)

#Added PreAuth Emv and Contactless Support





1.4.3

#Changed on Recuring Payment(For EPX Customer). 
1. Instead of 
payanywhere://payment/?chargeAmount=39.97&recurringAmount=1.00&recurringPeriod=months&recurringLength=4
you need to provide 
payanywhere://payment/?chargeAmount=1.00&recurringPeriod=months&recurringLength=4
** You dont need to provide two separate amount. Just provide chargeAmount, recurringPeriod and recurringLength

2. Updated request response for recurring payment. Please refer to recurring payment documentation section





1.5.0

#Sdk Api to disbale Receipt Screen via sdk call

#Sdk Api to set primary color and contrast/accent color for sales, signature and receipt screen.





1.5.1#UI improvement on tablet sales screen to show how to use card with reader 



1.5.5

#Send webhook notification when user closes/cancel the sdk from ui close button

#Allow to auto close sdk when txn decline via sdk paramter

#Allow to Auto close sdk after certain timeout





1.5.6

#Changes On Recurring Payment (**Important)


In this release, we have added a option to pass "Customer First Name", "Last Name" and "Customer Email Address" into a recurring payment request. So our app can use that info and can send email to customer about their enrollment into a auto payments. This changed is due to a requirement by "Visa" Brand.

From next release (post 1.5.6 releases), either for every recurring payment request you must need to pass recurring payment customer's firstName, lastName & email. Or you have to make sure to send an email to customer by yourself during a recurring payment if its a VISA.

Recurring payment request should look like:

payanywhere://payment/?chargeAmount=5.25&recurringPeriod=weeks&recurringLength=5&firstName=John&lastName=Kevin&email=johnkevin@gmail.com

#Single and Recurring Invoices Creation from SDK

#Allow user to select customer from Receipt Options

#AVS related Fix





1.5.6.3

#Added USB reader support

#Added option to pass itemName during a transaction





1.5.7#Added PaxA920 support



1.5.7.2

#Allow hide Send as invoice Button based on flag sent

#Allow Show Alipay based on flag sent

#Added support to process Alipay payments through Camera Scanner or Manual Entry.





1.5.8

#Allow passing Bric to client app

#Allow Sign on Paper and toggle between Digital Signatures





1.5.8.1

#Allow selecting a category for sale

#Allow processing a transaction by Cash Payments and refund them





1.5.8.2

#Allow passing receipt/transaction notes/comments to display on txn details and digital receipts

#Consider Always Require Signature MID Setting while processing a sale






Features

Features Supported

Details

Transaction InputKEYED, SWIPE, CONTACT/EMV, CONTACTLESS/MSR, Apple Pay, Samsung Pay, Android Pay, Alipay
Transaction TypeCredit (All readers), Pin Debit (A920 & WisePad 2 Reader), Invoices
Transaction ActionSale, Refund, Void, Pre Auth, Pre Auth Complete
SecurityPIN Enabled
Readers
  • PayAnywhere Roam Reader - Swipe Only
  • PayAnywhere 3 in 1 Audio (Chipper2x) - Swipe, Contactless & Contact
  • PayAnywhere 2 in 1 Bluetooth (ChipperBT) - Swipe & Contact
  • PayAnywhere WisePad 2 Reader - Swipe, Contactless & Contact
  • Storefront 1.5 QPOS Reader - Swipe & Contact
Cardholder Verification Methods
  • Signature for Swipe transactions
  • Pin for Debit transaction (only using PayAnywhere WisePad 2 Reader)
Partial AuthorizationYes
Receipt SharePrinting, SMS, Email
Call MethodsApp and Web
PlatformAndroid, iOS

  

IMPORTANT:

Your application is responsible to save and keep track of the transactions processed using PayAnywhere SDK.

Make sure you save at least the transactionUniqueId, receiptId and/or recurringPaymentId if you plan to void/refund/complete/edit or cancel a payment or recurring payment. 

See 'How to perform a sale/transaction/recurring payment/void/refund' section for more info on what you get back from the SDK after a transaction has been approved/declined/cancelled (This apply for both web and native app).

To get started follow the below mentioned steps,

  1. Register for a PayAnywhere account 
    PayAnywhere Phone/Tablet: https://apply.payanywhere.com/
    PayAnywhere Storefront: https://applytablet.payanywhere.com
  2. Download and install PayAnywhereSdk app into your android device
  3. Open your PayAnywhereSdk and login with your PayAnywhere credentials

Now PayAnywhereSdk is ready to interact with your app/website.

How to setup printers:

  1. From Android Settings>Bluetooth pair with your printer. Currently supported printer are Star Bluetooth Printer, Star Network Printer and POS80 Printer.
  2. From "PayAnywhere Sdk" click menu and select "Receipt Settings" menu. Add your business details. 
  3. From "PayAnywhere Sdk" click menu and select "Printer and Cash Drawers" menu. Select you printer, Select enable "Use Printer" button and click "Save Changes".
  4. Now after each transaction you will be see a screen to print receipt.


Minimum System Requirements:

- Requires Google Android 4.2 or higher

- 3.5mm headset jack with microphone

- “Normal”or “Large” screen size

- Location services


There are two ways PayAnywhere sdk can be used for payment

  1. From Android Application
  2. From a website running on Android Browser