DEVELOPER

Payanywhere Android SDK Specification

Version 1.7.2.0

Sale

post /payment

This function processes a cash or credit-card sale.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

123 is the unique requestCode for this intent. When this code is executed, Payanywhere starts and will be ready to process a credit card transaction. If required, connect a credit-card reader and swipe/EMV/NFC/key the credit card. Payanywhere will handle the processing and ask for a signature. Proceed with the signature.

Additional flags may also be used, such as “payanywhere://payment/chargeAmount=2.73&customerTransactionId=123456&
invoiceNumber=654321&externalNotification=true" For more information, please refer to the "Example values for SDK" table on the Integration Guide page.

To process a cash transaction, include "payanywhere://payment/?chargeAmount=0.01&acceptCash=true". This will display the option "Accept Cash Sale" on the SDK Payment screen. Once the transaction is approved, if Receipt Share is enabled, proceed with sharing. Otherwise the transaction result will be sent to the client application.

Response

To receive the transaction result on your app, add the following code to your activity:

After the transaction is approved or declined, Payanywhere will send the result to the calling activity with intent extra. The value of “transactionResult” will be one of the following:

  • "Approved" when a transaction is approved. You will also receive a “transactionUniqueId”. You can use this unique ID to track your transaction in the future. "recurringPeriod" and "recurringLength" extra will contain the recurring details that you requested. "authorizedAmount" extra contains the authorized charged amount that was applied on this transaction. "authCode" extra contains the authorization code for the transaction.
  • "Declined" when a transaction is declined.
  • "Cancelled" when a transaction is cancelled.

If a transaction is a partial auth, you will also receive "isPartialAuth" boolean extra. A partial authorization occurs when a lower amount than the transaction amount is authorized on one card, and the remainder of the payment can be processed using another method.

Parameters
chargeAmount required
Type
string
Example
2.73

Loading...

itemName
Type
string
Example
Magazine

Loading...

ccDetails
Type
boolean

Loading...

externalNotification
Type
boolean

Loading...

cancelNotification
Type
boolean

Loading...

customerTransactionId
Type
integer
Example
12345

Loading...

returnExtras
Type
boolean

Loading...

closeOnDecline
Type
boolean

Loading...

primaryColor
Type
string
Example
00a6e8

Loading...

contrastColor
Type
string
Example
10d625

Loading...

autoCancelTimeOut
Type
integer
Default
300
Example
60

Loading...

hideSendAsInvoice
Type
boolean

Loading...

receiptScreen
Type
boolean

Loading...

sendBRIC
Type
boolean

Loading...

signOnPaper
Type
boolean

Loading...

allowCategorySelection
Type
boolean

Loading...

receiptNotes
Type
string
Example
Example Note

Loading...

payMode
Type
string
Example
debit

Loading...

mode
Type
fi
Example
fi

Loading...

showEBTSnap
Type
boolean
Example
true

Loading...

openEBTScreen
Type
string
Example
ebtModeFood

Loading...

Start Recurring Payment

post /payment

This function enables you to start accepting a recurring payment. An initial sale will be processed and subsequent payments will be set to recur for a custom length of time at a given interval. Recurring payments are available only for merchants processing with EPX.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

In this example, 123 is the unique requestCode for this intent. When this code is executed, Payanywhere starts and will be ready to process a credit card transaction. The initial sale in this example is for $25.00 and the subsequent sales will occur every 4 months with an amount of $25.00.

If required, connect a credit card reader and swipe/EMV/NFC/key the credit card. Payanywhere will handle the processing and ask for a signature. Proceed with the signature.

Response

To receive the transaction result on your app, add the following code to your activity:

After the transaction is approved or declined, Payanywhere will send the result to the calling activity with intent extra. The value of “transactionResult” will be one of the following:

  • "Approved" when a transaction is approved. You will also receive a “transactionUniqueId”. You can use this unique ID to track your transaction in the future. "recurringPeriod" and "recurringLength" extra will contain the recurring details that you requested. "authorizedAmount" extra contains the authorized charged amount that was applied on this transaction.
  • "Declined" when a transaction is declined.
  • "Cancelled" when a transaction is cancelled.

If a transaction is a partial auth, you will also receive "isPartialAuth" boolean extra. A partial authorization occurs when a lower amount than the transaction amount is authorized on one card, and the remainder of the payment can be processed using another method.

Parameters
firstName
Type
string
Example
John

Loading...

lastName
Type
string
Example
Smith

Loading...

email
Type
string
Example
johnsmith@gmail.com

Loading...

itemName
Type
string
Example
Magazine

Loading...

chargeAmount required
Type
string
Example
2.73

Loading...

recurringLength
Type
string
Example
4

Loading...

recurringPeriod
Type
string
Enum
monthsdaysweeksyears
Example
months

Loading...

Update Recurring Payment

post /recurring_payment_update

This function changes an existing recurring payment. Recurring payments are available only for merchants processing with EPX.

Request

Recurring payment frequency may be updated, i.e. period and length, as well as the credit card sale to be used for the recurring payment. To update the frequency of a recurring payment, pass recurringPaymentId, recurringLength, and recurringPeriod. To update the credit card sale that will be used to perform a recurring payment, pass recurringPaymentId and recurringPaymentCCSId, i.e. credit card sale unique ID (CCSID). When the CCSID is passed, the following happens:

  • The current recurring payment object is deactivated and a new recurring payment object is created, pointing to the specified credit card sale object.
  • The new recurring payment object ID will be returned to you.

Add the following code to update a recurring payment:

To receive the activity result:

Response

You will receive an updated recurringPaymentId or a new recurringPaymentId if a new recurring object was created due to a new CCSID. Please note that currently there is no verification that the card is still valid until a recurring payment charge is attempted.

Parameters
recurringLength
Type
string
Example
4

Loading...

recurringPeriod
Type
string
Enum
monthsdaysweeksyears
Example
months

Loading...

recurringPaymentId
Type
string
Example
123456

Loading...

recurringPaymentCCSId
Type
string

Loading...

Deactivate Recurring Payment

get /recurring_payment_deactivate

This function deactivates an existing recurring payment. Recurring payments are available only for merchants processing with EPX.

Request

To deactivate a recurring payment, provide the recurringPaymentId and add the following code:

Response

To receive the activity result:

Parameters
recurringPaymentId
Type
string
Example
123456

Loading...

Authorize

post /preauth

This function pre-authorizes a payment on a customer's card and does not capture it.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

456 is the unique requestCode for this intent. When this code is executed, Payanywhere starts and will be ready to process a pre-auth credit card transaction.

Response

To receive the activity result:

Parameters
chargeAmount required
Type
string
Example
2.73

Loading...

itemName
Type
string
Example
Magazine

Loading...

Adjust

post /preauth_adjust

This function adjusts the amount of a Pre-Auth transaction. It will increase or decrease the pre-authorized amount by the amount provided in the request. For example, if a pre-auth was created for $10.00 and and an adjust amount of $15.00 is requested, the new amount for the pre-auth will be $25.00.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

Response

To receive the activity result:

Parameters
adjustAmount
Type
string
Example
25.00

Loading...

transactionUniqueId required
Type
string

Loading...

receiptId required
Type
string

Loading...

Capture

post /preauth_complete

This function captures an existing authorization.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

Response

To receive the activity result:

Tip Adjust

post /tips

This function adds a tip amount to an existing transaction. Tip adjustment can be done anytime before the batch is settled.

Request

Add the following code where you would like to start Payanywhere payment processing (i.e., on button click):

Response

To receive the activity result:

Parameters
transactionUniqueId required
Type
string

Loading...

tipsAmount
Type
string

Loading...

receiptScreen
Type
boolean

Loading...

signOnPaper
Type
boolean

Loading...

showSignatureScreen
Type
boolean
Example
true

Loading...

©2026 North is a registered DBA of NorthAB, LLC. All rights reserved. North is a registered ISO of BMO Harris Bank N.A., Chicago, IL, Citizens Bank N.A., Providence, RI, The Bancorp Bank, Philadelphia, PA, FFB Bank, Fresno, CA, Wells Fargo Bank, N.A., Concord, CA, and PNC Bank, N.A.