APIGuide
APIGuide
Version 2.60
August 2016
Version 2.60
__________________________________________________________________________
Confidentiality
By proceeding, you acknowledge that the information contained herein constitutes
valuable property and trade secrets of Payoneer, which are strictly confidential.
You agree that you shall not directly or indirectly:
Use or permit the use of this document for, or in connection with, any other business
whatsoever, or for any purpose other than the analysis of the project contemplated
hereby, or
Disclose or permit the disclosure of any part of this document to any person or entity
other than officers, shareholders or representatives of your same organization who
are made aware of the confidential nature of this document and the restrictions on
the disclosure or use of its contents and for the purpose stated.
Lastly, you agree to immediately notify Payoneer of the circumstances surrounding
any breach of this confidentiality of which you become aware.
For any questions or comments about Payoneer Payout Services or this document,
please contact the Payoneer integration team at: [email protected]
Table of Contents
Confidentiality ............................................................................................................................... 2
Table of Contents .......................................................................................................................... 3
1 Getting Started ...................................................................................................................... 4
1.1 Overview ....................................................................................................................... 4
1.2 The Process ................................................................................................................. 5
1.3 Communication Security ............................................................................................ 6
1.4 Sandbox Test Environment ........................................................................................ 7
1.5 Common Calling Convention and Authentication ................................................... 7
2 Onboarding Payees ............................................................................................................... 9
2.1 Payee Sign-up .............................................................................................................. 9
2.2 Payee Sign-up/Auto Population .............................................................................. 11
3 Instant Process Completion Notifications .......................................................................... 17
3.1 Payment Method Registration Notifications .......................................................... 17
3.2 Payee Status Notifications ....................................................................................... 18
3.3 Payment Notifications ............................................................................................... 18
3.4 Additional IPCN Notifications ................................................................................... 19
4 The Payoneer API ................................................................................................................ 22
4.1 Echo ............................................................................................................................. 22
4.2 GetVersion .................................................................................................................. 23
4.3 Payment Order Submission ..................................................................................... 23
4.4 Get Payment Status .................................................................................................. 26
4.5 Query Account Balance Method ............................................................................. 28
4.6 Get Payee Details ...................................................................................................... 29
4.7 Change Payee ID ...................................................................................................... 31
4.8 Get Payees Report .................................................................................................... 32
4.9 Get Single Payee Report .......................................................................................... 34
4.10 Get Unclaimed Payments XML ........................................................................... 35
4.11 Get Unclaimed Payments CSV ........................................................................... 36
4.12 Cancel Payment ..................................................................................................... 37
4.13 Move Payee Program ........................................................................................... 38
Appendix A – XML File Format for Payoneer Mass Payment ..................................................... 41
Appendix B – Payoneer Mass Payment CSV File Format ............................................................ 42
Appendix C – Field Validations .................................................................................................... 44
Appendix D – Setup Payoneer landing site language ................................................................. 46
Appendix E – Client’s Account Setup Process ............................................................................. 47
1 Getting Started
Brief guidance for using this Implementation Guide is provided for your convenience.
Section 1. Getting Started – is intended for all developers.
Section 2.1. Payee Sign-up – is intended for clients who will be redirecting payees
to sign up with Payoneer.
This is the only API call that is required for website integration.
Section 2.2. Payee Sign-up/Auto Population – is intended for clients who will be
redirecting payees to Payoneer to sign up and wish to auto-populate data fields
presented to the payee.
Section 3. Instant Process Completion Notifications – is intended for clients who wish
to subscribe to Payoneer’s IPCNs (Instant Process Completion Notification) for
receiving feedback regarding payee and payment status changes.
Section 4. Payoneer API – is intended for developers who will be initiating payment
instructions directly to the Payoneer platform or require to query the platform for
information about payees and payments.
1.1 Overview
Payoneer provides a complete and easy-to-implement solution for disbursing funds to
payees globally. Integrating the solution involves two steps:
1. Payee registration – implemented with client branded web pages that are hosted
by Payoneer.
2. Submitting payment instructions to Payoneer, via one of two supported
interfaces:
Automated interface: HTTPS Request/Response interface available for
automating data submission and to retrieving reports. The APIs are described
in section 4 of this document. Credentials for submitting API calls to sandbox
and production environments will be provided during the client account setup
process.
Manual interface: Payoneer Administration Console provides a convenient
interface for manual data submission and access to reports. The Payments
tab supports initiating single payments and uploading payment batch files to
Payoneer.
Payoneer provides clients with reporting interfaces for sharing data, payment and status
information at all stages of the workflow. Reporting is available through the following
interfaces:
Payoneer Web-based reports.
E-mail reports and notifications that are sent on a daily or monthly basis.
A00B556F Unauthorized access or invalid parameters. Please check IP address and parameters.
Format Errors
001 Field format is invalid or is not supported.
Global Errors
002 Internal error.
2 Onboarding Payees
2.1 Payee Sign-up
Request a unique URL to the payee sign-up page that is generated by Payoneer
specifically for each sign-up session.
Request Parameters
Parameter Description Data Type Required
Following payee registration, keeps the option for the payee to redirect to Payoneer
using the same API call.
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
–d 'mname=GetToken&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=ClientPayeeID'
The request returns a unique URL for a payee to access Payoneer’s sign-up page
Request Parameters
Parameter Description Data Type Required
The payee sign-up page URL that is returned is unique and is generated by Payoneer
specifically for each sign-up session.
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
–d 'mname=GetTokenXML&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}
&xml=<?xml version="1.0" encoding="utf-8"?>
<PayoneerDetails>
<Details>
<apuid>ClientPayeeID</apuid>
<sessionid/>
<redirect>http://www.ClientWebsite.com/</redirect>
<redirectTime>2</redirectTime>
<PayeeType>1</PayeeType>
<PayoutMethodList>PrepaidCard</PayoutMethodList>
<RegMode>regular</RegMode>
<BlockType>0</BlockType>
</Details>
<PersonalDetails>
<firstName>Dimitr</firstName>
<lastName>ilkov</lastName>
<country/>
<address1/>
<city/>
<zipCode/>
<dateOfBirth/>
<phone/>
<email>[email protected]</email>
</PersonalDetails>
</PayoneerDetails>'
XML Parameters
Parameter Description Data Type
Error Codes
PE1005 No client ID received.
https://www.partnercompany.com/payoneer_confirmation.aspx?REG=true&payeeid={{apuid}}&sessionid={{sessi
onid}}&Payoneerid={{payoneerid}}
https://www.partnercompany.com/payoneer_confirmation.aspx?iACHREG=true&payeeid={{apuid}}&sessionid={{
sessionid}}&Payoneerid={{payoneerid}}
https://www.partnercompany.com/payoneer_confirmation.aspx?PaperCheck=true&payeeid={{apuid}}&sessionid
={{sessionid}}&Payoneerid={{payoneerid}}
https://www.partnercompany.com/payoneer_confirmation.aspx?APPROVED=true&payeeid={{apuid}}&sessionid
={{sessionid}}&Payoneerid={{payoneerid}}
Once Payoneer approves a payee application (see “IPCN Approved” above), the
payee ID is active in the Payoneer system and the client can submit payments to
the payee.
Decline
This occurs if Payoneer declines the payee application.
Example:
https://www.partnercompany.com/payoneer_confirmation.aspx?DECLINE=true&payeeid={{apuid}}&sessionid={{
sessionid}}&Payoneerid={{payoneerid}}
apuid is the payee ID: This is the unique identifier that each client has for each
payee.
Session ID: Is the p5 parameter sent in the signup API. It is not mandatory.
Payoneer ID: This is an identifier used within the Payoneer system. It is not
mandatory.
https://www.partnercompany.com/payoneer_confirmation.aspx?PAYMENT=true&payeeid={{apuid}}&PaymentId
={{PayoneerPaymentId}}&PartnerPaymentId={{IntPaymentId}}
https://www.partnercompany.com/payoneer_confirmation.aspx?LOADCC=true&payeeid={{apuid}}&PayoneerPa
ymentId={{PaymentId}}&PartnerPaymentId={{IntPaymentId}}
https://www.partnercompany.com/payoneer_confirmation.aspx?LOADiACH=true&payeeid={{apuid}}&PaymentId
={{PaymentId}}&PartnerPaymentId={{IntPaymentId}}
https://www.partnercompany.com/payoneer_confirmation.aspx?PaperCheck=true&payeeid={{apuid}}&
PaymentId={{PaymentId}}&PartnerPaymentId={{IntPaymentId}}
Cancel Payment
This occurs: after a payment has been canceled.
Example:
https://www.partnercompany.com?CancelPayment=true&payeeid={{apuid}}&PaymentId={{PaymentId}}&Partner
PaymentId={{IntPaymentId}}
apuid: This is the payee ID, which is the unique identifier that each client has for
each payee
PayoneerPaymentId: This is a unique payment identifier used within the Payoneer
system.
IntPaymentId: This is a unique payment identifier used within the client’s system.
https://www.partnercompany.com/payoneer_confirmation.aspx?BALANCE_UPDATED=true&Amount={{Amount}
}&Balance={{Balance}}&FundingId={{FundingId}}&FundingTime={{FundingTime}}
Balance is the Client’s balance in Payoneer right after the funding action
Fundingid is a unique identifier in Payoneer system of the specific funding action.
FundingTime is the Date and time (EST) the funding registerd in Payoneer
systems.
https://www.partnercompany.com/payoneer_confirmation.aspx?AUTOPAYEECREATION=true&payeeid={{apuid
}}&PaymentId={{PaymentId}}
Email As Payee: If the client is enabled in the Payoneer systems for the “Email as
payee” service, then the client can submit a payment to a payee (via the
PerformPayoutPayment API call) by specifying their email address in the Payoneer
system as “PayeeID”. If the payee is identified by the Payoneer system (according
to their email), the Payoneer system will automatically create a payee ID named
according to the payee’s email for the requesting client. From then on, the “email” is
the payee ID.
https://www.partnercompany.com/payoneer_confirmation.aspx?CustomerDetailsEdited=true&payeeid={{apuid}}
&sessionid={{sessionid}}&Payoneerid={{payoneerid}}
https://www.partnercompany.com/payoneer_confirmation.aspx?CustomerDetailsEdited=true&payeeid=
{{apuid}}
Reuse Payee ID
This occurs once the payee ID is released by Payoneer and should open the option for
the payee to re-register for Payoneer account.
Example:
https://www.partnercompany.com/payoneer_confirmation.aspx?ReusePayeeID=true&payeeid={{apuid}}
https://www.partnercompany.com/payoneer_confirmation.aspx?BankTranferPaymentFailed=true&payeeid={{ap
uid}}&PartnerPaymentId={{IntPaymentId}}&PayoneerPaymentId={{PaymentId}}&ReasonCode={{ReasonCode}}
&ReasonDescription={{ReasonDescription}}
Reason Codes:
Reason Code Reason Description
4.1 Echo
Return the status of the API and payout services (Heart Beat).
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d 'mname=Echo&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}
Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<PayoneerResponse>
<Status>0</Status>
<Description>OK</Description>
</PayoneerResponse>
Status Codes
000 Echo OK - All systems are up.
4.2 GetVersion
Return the API version (corresponding with the relevant integration guide)
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/httpapi/api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d 'mname=GetVersion&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}
Another option to submit payments is to create a batch file (XML, CSV, or Excel file
format. Refer to Appendix A and B for information on the file format) and upload the file
from the Payoneer Administration Console.
Request Parameters
Field Description Data Type Required
The Internal Payment ID field (p5) must be unique for the payment instruction. If a
payment fails for any reason, the same payment ID (field p5) should be used for
reprocessing the same request.
Sample Request
Status Codes
000 Processed successfully.
001m Minimum/ maximum loading amount / Amount to load is less or equal to zero.
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
'mname=GetPaymentStatus&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=ClientPayeeI
D&p5=IntPaymentID'
Status Codes
000 OK (Request accepted).
Payment Statuses
Pending Approval
Cancelled
Refund
Payment completed
Funded
Pending Load
Settling
Error
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/HttpApi/Api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d ‘mname=GetAccountDetails&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}} ‘
<GetAccountDetails>
<FeesDue><!-- Fees due by client to Payoneer --></FeesDue>
<AccountBalance>(Balance remaining in the Client’s Account for payments)</AccountBalance>
<Curr> (optional – currency other than USD - Program currency ) </Curr>
</GetAccountDetails>
Status Codes
000 OK (Request accepted).
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
'mname=GetPayeeDetails&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=ClientPayeeID '
Status Codes
000 OK (Request accepted).
002 Payee does not exist.
Payee Statuses
Inactive Account cannot be loaded by client.
Not Activated
Activated
Cancelled
Card Activated
Card Cancelled
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
'mname=ChangePayeeID&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=OldClientPayee
ID&p5=NewPayeeID'
Status Codes
000 Processed successfully.
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d 'mname=GetPayeesReport&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p5=08/01/2016
&p6=09/01/2016'
</Payee>
</Prepaid> OR </BankAccout> OR </iACH> OR </PaperCheck> OR </PayoneerAccount>
</PayoneerPayees>
Status Codes
PE1017 Invalid date range.
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/Payouts/HttpApi/API.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
'mname=GetSinglePayeeReport&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=ClientPa
yeeID '
<Name> </Name>
<Email> </Email>
<RegistrationDate> </RegistrationDate>
<Status> </Status>
<TotalAmount> </TotalAmount>
<Payments>
<Payment>
<Date> </Date>
<PaymentID>(Client Payment ID) </PaymentID> >
<PayoneerReferenceID>(Payoneer Payment ID)</PayoneerReferenceID>
<Amount> </Amount>
<Curr></Curr>
<Status> </Status>
<Description> </Description>
</Payment>
</Payments>
</Payee>
</Prepaid> OR </BankAccout> OR </iACH> OR </PaperCheck> OR </PayoneerAccount>
</PayoneerPayees>
Status Codes
PE1013 Payee ID is invalid.
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/HttpApi/Api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d "mname=GetUnclaimedPaymentsXML&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}} ‘
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/HttpApi/Api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d "mname=GetUnclaimedPaymentsCSV&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}} ‘
Successful Response
A comma separated string in which each row contains the following information:
IntPayeeId*, IntPaymentId*, PaymentId, Amount, FirstName, LastName, Address1, Address2, City, State, Zip,
Country, Email, Phone, Mobile, PayOutMethod, PaymentDate, Description, Currency
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/HttpApi/Api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
'mname=CancelPayment&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4=IntPayemntID'
Status Codes
000 Payment cancelled successfully.
Request Parameters
Field Description Data Type Required
Sample Request
curl -X POST https://api.sandbox.payoneer.com/payouts/HttpApi/Api.aspx
-H "Content-Type: application/x-www-form-urlencoded"
-d
‘mname=movepayeeprogram&p1={{ClientUserName}}&p2={{ClientPassword}}&p3={{ClientID}}&p4={{Client2Us
erName}}&p5={Client2Password}}&p6={{Client2ID}}&p7= ClientPayeeID ‘
Status Codes
000 Processed successfully.
1 Payment date Date of payment (EST), in "MM/DD/YYYY" format. Normally, the specified date
is ignored, and the payment is executed immediately upon payment
submission.
A client can be configured in the Payoneer system for “Payments scheduling”.
Using this configuration (which is inactive by default), the payment is executed
only at the time specified by the “Payment date” parameter.
3 Int. Payment ID As appears in your internal system. Must be unique per payment.
7 Group ID [Optional]
Optional field used for grouping payments (allows attribution of payment to a
department or expense group)
Parameter Description
4 Int. Payment ID This must be the same at the information appearing in the internal system.
It must be unique per payment and cannot be repeated in the future.
6 Payment date Date of payment (EST), at "MM/DD/YYYY" format. Normally, the specified
date is ignored, and the payment is executed immediately upon payment
submission.
A client can be configured in Payoneer system for “Payments scheduling”.
Using this configuration (which is inactive by default), the payment will be
executed only at the time specified by the “Payment date” parameter.
7 Group ID [Optional] Optional field used for grouping payments (allows the user to
group payments by a department or an expense).
The following is a sample CSV file formatted for Payoneer Mass Payments:
PayeeID1 1.25 USD IntPaymentID1 Test Payment for PayeeID1 1/1/2015
PayeeID2 1.25 USD IntPaymentID2 Test Payment for PayeeID2 1/1/2015
PayeeID3 2.55 USD IntPaymentID3 Test Payment for PayeeID3 1/1/2015
PayeeID4 3 USD IntPaymentID4 Test Payment for PayeeID4 1/1/2015
PayeeID5 1 USD IntPaymentID5 Test Payment for PayeeID5 1/1/2015
Two letters, in compliance with ISO 3166-1 alpha-2 Country Code List.
Country Note that UK is specifically used for United-Kingdom 3
PhoneNumber (, ), digits, - 6 11
RedirectTime Digits 1 3
State Two Letters, U.S only state code, in accordance with ISO 3166-2 20
ID Type 1,2,3,4 1 1
SSN Digits, - 4 9
Driver License
Number Letters, digits 30
National ID
number Letters, digits 30
Min Max
Field Type Valid characters Length Length
Name On
Card Letters, digits, space, -, _ ,. 255
Company
name Letters, space, digits, ( , ), . 50
Two letters, in compliance with ISO 3166-1 alpha-2 Country Code List.
Incorporated
Country Note that UK is specifically used for United-Kingdom 3
Valid url: ^(https?://)?(([0‐9a‐zA‐Z_!~*'().&=+$%‐]+: )?[0‐9a‐zA‐
Z_!~*'().&=+$%‐]+@)?(([0‐9]{1,3}\.){3}[0‐9]{1,3}|([0‐9a‐zA‐Z_!~*'()‐
Company ]+\.)*([0‐9a‐zA‐Z][0‐9a‐zA‐Z\‐]{0,61})?[0‐9a‐zA‐Z]\.[a‐zA‐Z]{2,})(:[0‐
URL 9]{1,5})?((/?)|(/[0‐9a‐zA‐Z_!~*'().;?:@&=+$,%#‐{}]+)+/?)$ 255
https://payouts.payoneer.com/partners/lp.aspx?token=123&langid=1
LanguageCode LanguageName
1 English
3 Russian
4 Chinese
5 Turkish
6 Portuguese
7 Spanish
8 Hungarian
9 French
11 Greek
12 Malay
13 German
14 Japanese
15 Korean
16 Polish
18 Danish
19 Arabic
20 Italian
21 Vietnamese
24 Thai
25 Indonesian