Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided...

59
Paywire Developer Guide Version 3 May 4, 2018 © Copyright 2018. Paywire, Incorporated. All Rights Reserved.

Transcript of Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided...

Page 1: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

Paywire Developer Guide Version 3

May 4, 2018

© Copyright 2018. Paywire, Incorporated. All Rights Reserved.

Page 2: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

2

Table of ContentsOverview .........................................................................................................................................................3OSBP Developer Guide .................................................................................................................................4

Security Considerations ............................................................................................................................5XML Transaction Specification .................................................................................................................6

Transaction Response ......................................................................................................................11Sample Token Sales ...............................................................................................................................14Service Availability Ping ........................................................................................................................17Sample Transactions .............................................................................................................................18

SALE .................................................................................................................................................19CREDIT .............................................................................................................................................21VOID .................................................................................................................................................22

OSBP Recurring Setup ..........................................................................................................................23Sample Source Code .............................................................................................................................24OSBP Designer Page .............................................................................................................................27Flow Chart ..............................................................................................................................................29

Checkout Options .........................................................................................................................................30API XML Developer Guide ...........................................................................................................................32

API XML Specification ............................................................................................................................33Sample Transactions ..............................................................................................................................37

SALE .................................................................................................................................................38Credit Card Sale .........................................................................................................................39E-Check Sale ..............................................................................................................................41Recurring Payment Setup ..........................................................................................................43Recurring Payment Delete .........................................................................................................44

VOID .................................................................................................................................................45CREDIT .............................................................................................................................................46FORCE ..............................................................................................................................................48PREAUTH .........................................................................................................................................49GETCASHDISCOUNT ......................................................................................................................50STORETOKEN ..................................................................................................................................51TOKENSALE .....................................................................................................................................52REMOVETOKEN ..............................................................................................................................53BATCHINQUIRY ...............................................................................................................................54CLOSE ..............................................................................................................................................55SEARCHTRANS ...............................................................................................................................56

Page 3: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

3

Overview

Paywire offers implementations of many specific payment gateways that are as simplistic as possible and aredesigned to be very approachable. The three options that Paywire offers are OSBP (Off Site Buy Page), API(Application Programming Interface), and the checkout page. The Off Site Buy Page tends to be the more commonly used option amongst merchants and developers incomparison to the checkout page and API options. For more information regarding OSBP, please refer to thePaywire OSBP developer guide. The checkout page is the second option to be offered amongst clients by developers. The checkout page is asimplistic way to complete a transaction. A checkout button can even be generated by Paywire by easily [email protected]. For more information regarding the checkout, please refer to the Checkout Options. The API option allows the developer to use tools strictly to build upon their own personal software application orwebsite page. While API is not used often, it can be of great use if a personal design is wanted to be included by thedeveloper in their software and applications. For more information regarding the structure of API and its information,please refer to the API developer guide.

Page 4: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

4

OSBP Developer Guide

Introduction "Off Site Buy Page" and "OSBP" are the terms used to describe the global approach to payments made viaecommerce applications. The goal is to collect all credit cards and web ACH information on an externally hostedpage, rather then allowing every department to develop their own unique approach. The goal is to have morestandardization and better security. Paywire is charged with developing a consistent standard that meets many of the disparate needs of the web sitepayment processing needs. Accordingly, Paywire has developed the following XML specification for the OSBPinterface. Overview The goal is this specification is to make implementation as simple as possible, as many payment gatewayspecifications suffer from over complication. The approach is to use XML imbedded in hidden from fields that aretransmitted using SSL. Once this XML is posted to the OSBP server, a page is displayed for the customer to inputtheir credit card information, and the result is returned to the web application that originates the transaction, also viaXML. Since the OSBP and the Virtual Point of Sale share the same database, transactions originating from the OSBP canbe reported on and reversed from the VPOS.

Page 5: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

5

Security Considerations

Credit card and payment transaction security practices are appropriate here. No system in and of itself can ensurethat all data is absolutely secure, especially because users can do many things to bypass even the best securitysystem or policy. The following is a list of user practices to consider when using this system:

• Keep all passwords and keys used to access the system in a safe location.• Train users of the system not to retain written records of card data unless absolutely necessary, and if it isnecessary to retain such written documentation, store it in safe location.• No card data should be stored in a digital format under any circumstances.• Good anti-virus and anti-spyware should be installed on each work station and this should be monitoredand updated on a regular basis.• Good network segmentation practices should be followed such that card data is being input in as small anetwork infrastructure as feasible.• All sensitive data such as keys, user names and passwords transmitted to the OSBP should be generatedserver side, such that no sensitive information is ever visible in plain text in the pages content.

The Paywire OSBP system does not store any card data. All the card data is represented in the system using uniquetokens or identifiers derived from the credit card gateway. All subsequent credits, voids, reports, or anything elserequiring actions on previously entered card data, use the token or a masked card number. The OSBP is therefore not a payment gateway, but rather a standardized and secure interface to a paymentgateway.

Page 6: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

6

XML Transaction Specification

Paywire provides a website to test, create, and/or generate XML. You can either fill in each box or use the samplebuttons shown below. Click Generate XML and Direct Send when you are done. This will post your XML to ourstaging URL. Once the 4 credentials authenticate, you will be redirected to the payment entry page. After a paymenthas been entered and you click process, response XML is posted back to the supplied PWAPPROVALURL /PWDECLINEURL. We designed the sample receive page to parse the response out and display the fields. Whatyou do with the response XML is up to you. Some merchants store the response for their records (recommended).Others will do a simple basic HTML page that just shows "Thanks for payment" for approvals, and a different one fordeclines. XML test send page: "https://send.paywire.com/" Sales Voids and CreditsSales, Voids and Credits use the following format:

Page 7: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

7

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWCLIENTID>required</PWCLIENTID> <PWKEY>required</PWKEY> <PWUSER>required</PWUSER> <PWPASS>required</PWPASS> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>required</PWSALEAMOUNT> <CASHBACK /> <PWINVOICENUMBER>required</PWINVOICENUMBER> <PWAPPROVALURL /> <PWDECLINEURL /> <PWCONFIRM>TRUE</PWCONFIRM> <CARDPRESENT>FALSE</CARDPRESENT> <AUTHONLY>FALSE</AUTHONLY> <DETAILITEMS>0</DETAILITEMS> </TRANSACTIONHEADER> <DETAILRECORDS /> <CUSTOMER> <PWCTRANSTYPE /> <PWTOKEN /> <MERCHANTCUSTOMERID /> <FIRSTNAME /> <LASTNAME /> <ACCTHOLDERFIRSTNAME /> <ACCTHOLDERLASTNAME /> <COMPANYNAME /> <ADDRESS1 /> <ADDRESS2 /> <CITY /> <STATE /> <ZIP /> <COUNTRY /> <EMAIL /> <PRIMARYPHONE /> <WORKPHONE /> </CUSTOMER></PAYMENTREQUEST> Transaction Field Definitions: PWVERSION*

– The Paywire XML version number. Valid version numbers are "1", "2". If no version is entered, "1" is thedefault. In version 2, the following tags can be utilized: PWFORWARD and CVREQ.

PWCLIENTID*– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.

PWKEY*– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.

Page 8: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

8

PWUSER*– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.

PWPASS*– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.

PWTRANSACTIONTYPE*– Transaction type:

“SALE” – Charge a card or bank account (if applicable).“VOID” – Void a transaction. The transaction amount must match the amount of the originaltransaction, and the PWUNIQUEID must match the unique identifier associated with the transactionto void. The transaction must be in the current open batch to void it.“CREDIT” – Credit a transaction. The transaction amount must be equal to or less than the amountto credit, and the PWUNIQUEID must match the unique identifier associated with the transaction tocredit. If an something else is supplied, the string "Invalid 'PWTRANSACTIONTYPE' Tag" is returned,and the user is sent to the decline URL.

PWSALEAMOUNT*

– Amount of the transaction. Always positive. Can either be whole dollar amount (50) or dollar amount withdecimal and cents (50.00). Maximum 7 digits, or 7 digits with decimal then 2 digits. Any other characters(letters, "$", etc...) are not accepted.

CASHBACK– Customer option to receive cash back as part of their transaction. (Optional)

PWINVOICENUMBER*– Merchant invoice number, generated by the user. The merchants unique invoice number associated withthis transaction. The maximum length is 20 characters, alphanumeric only.

PWAPPROVALURL*

– A URL on the Merchant's site that the return XML data will be posted to if transaction is approved.Paywire provided sample URL "https://send.paywire.com/Receive.aspx"

PWDECLINEURL*– A URL on the Merchant's site that the return XML data will be posted to if transaction is declined or anyerror occurs.Paywire provided sample URL "https://send.paywire.com/Receive.aspx"

PWFORWARD*

– What payment page to forward the user to. Valid values are "CC" for the credit card page and "ECHECK"for the E-check page. If no value is supplied, the user is sent to the payment selection page like normal. Thetag PWVERSION must be set to "2" in order to use this.

CVREQ*– This determines whether or not the card verification number is required from the user. A value of "FALSE"will disable its requirement and hide the form from the user. Any other value will display and require the cardverification number. The tag PWVERSION must be set to "2" in order to use this.

PWCONFIRM– This is an optional additional screen that will allow the customer to confirm the transaction before itsprocessed. Must be "TRUE" or "FALSE".

CARDPRESENT– Customer option to show their CC. Defaulted to "False" with the other option being "True". (Optional)

Page 9: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

9

AUTHONLY

– Merchant authorize only option. Defaulted to "False" with the other option being "True". (Optional)DETAILAMOUNT

– The detail amount for SAP interface associated with this line item. (Required for some Merchant ID’s)

PWCUSTOMERID– The Customer ID is assigned by Paywire and returned in the transaction response. A PWCTRANSTYPE ofeither 3 or 4 must be used to receive a new Customer ID. The Customer ID should be stored in the merchantdatabase for future use (e.g. PWCTRANSTYPE’s of 1 or 2 – see below). (Required for PWCTRANSTYPE’sof 1 or 2)

PWCTRANSTYPE*

– The following types are supported:“1” – Charge the PWCUSTOMERID using the previous card number with no prompt for new carddata. No display of OSBP. Response returned immediately to originator.“2” – Display the OSBP. Prompt for new card data with option to use card used previously.“3” – One-time transaction only. No customer record created.“4” – Add a new customer for OSBP and VPOS usage."5" – Recurring, Add a new customer for OSBP and VPOS usage.

MERCHANTCUSTOMERID

– Merchant supplied customer ID, e.g. the Student ID Number. Used for reporting purposes only. (Optional)

COMPANYNAME– Company name. (Optional)

FIRSTNAME– First name. (Optional)

LASTNAME– Last name. (Optional)

ACCTHOLDERFIRSTNAME– Account Holder First name. (Optional)

ACCTHOLDERLASTNAME– Account Holder Last name. (Optional)

ADDRESS1– Primary Address. (Optional)

ADDRESS2– Secondary Address. (Optional)

CITY

– City. (Optional)STATE

– State. (Optional)COUNTRY

– Country. (Optional)ZIP

– Zip Code. (Optional)

Page 10: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

10

EMAIL– Email Address. (Optional)

PRIMARYPHONE

– Primary Phone Number. (Optional)WORKPHONE

– Work Phone Number. (Optional)

Page 11: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

11

Transaction Response

Transaction Response Page URL: "https://send.paywire.com/Receive.aspx"

The Transaction Response:<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWCLIENTID /> <PWINVOICENUMBER /> <RESULT /> <AMOUNT /> <PWADJDESC/> <PWADJAMOUNT/> <PWSALETAX/> <PWSALEAMOUNT/> <MASKEDACCOUNTNUMBER /> <PAYMETH /> <CCTYPE /> <AHNAME /> <AHFIRSTNAME /> <AHLASTNAME /> <PWUNIQUEID /> <EMAIL /> <AUTHCODE /> <PWCUSTOMERID /> <AVSCODE /> <CVVCODE /> <RECURRING /></PAYMENTRESPONSE> Transaction Response Field Definitions: PWCLIENTID

- Assigned by Paywire PWINVOICENUMBER

- Customer assigned unique alpha-numeric value. This is the same value the merchant submitted in thetransaction request.

RESULT

- Transaction approval message. See table below for a complete list of possible values.

AVS result codes: -Valid Return Values: S- Service not supported E- Not a mail/phone order R- Issuer system unavailable U- Address unavailable N- No address or zip match Z- 5-digit zip match only W- 9-digit zip match only A- Address match only

Page 12: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

12

Y- Exact match, 5-digit zip X- Exact match, 9-digit zip

AMOUNT

- Amount of the transaction total including any adjustments and taxes. Always positive. Can either be wholedollar amount (50) or dollar amount with decimal and cents (50.00). Maximum 7 digits, or 7 digits withdecimal then 2 digits. Any other characters (letters, "$", etc...) are not accepted.

PWADJDESC *

- The description for the service adjustment. Only available for cash discount merchants. Based on themerchant configuration.

PWADJAMOUNT *- Amount of the service adjustment. Only available for cash discount merchants. Can either be whole dollaramount (50) or dollar amount with decimal and cents (50.00). Maximum 7 digits, or 7 digits with decimalthen 2 digits. Any other characters (letters, "$", etc...) are not accepted.

PWSALETAX *- Amount of the sales tax. Only available for cash discount merchants. Can either be whole dollar amount (50)or dollar amount with decimal and cents (50.00). Maximum 7 digits, or 7 digits with decimal then 2 digits.Any other characters (letters, "$", etc...) are not accepted.

PWSALEAMOUNT *

- Amount of the original sale amount. Only available for cash discount merchants. Always positive. Can eitherbe whole dollar amount (50) or dollar amount with decimal and cents (50.00). Maximum 7 digits, or 7 digitswith decimal then 2 digits. Any other characters (letters, "$", etc...) are not accepted.

MASKEDACCOUNTNUMBER- The masked account number that the transaction was processed under.

PAYMETH

- Method of payment selected by the user. "E" for web ACH. "C" for credit card. CCTYPE

- The credit card type. This field is blank if an e-check was used. AHNAME

- The account holder's name that was supplied. AHFIRSTNAME

- The account holder's first name that was supplied. AHLASTNAME

- The account holder's last name that was supplied. PWUNIQUEID

- The unique ID assigned by Paywire associated with this transaction. EMAIL

- The user's email address that was supplied at the start of the transaction.

Page 13: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

13

AUTHCODE- Authorization code associated with the transaction if applicable.

PWCUSTOMERID

- Customer ID associated with this transaction. If original request was to create a customer, then this will bethe new customer ID.

AVSCODE

- Transaction AVS code result. See the table below for a complete list of possible values. as per theUniversity's Policy, AVS data will have no affect on whether the transaction is approved or not.

CVVCODE

- Transaction CVV result. "1" for a match. "0" for a failure. Note that the actual CVV data should not bestored under any circumstances; i.e. it is okay to store the result, just not the actual data. The CVVCODEmust match otherwise the transaction will be declined.

RECURRING

- The recurring amount if the value under "PWCTRANSTYPE" is selected.

Page 14: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

14

Sample Token Sales

Token RequestThe merchant should post XML request to OSBP, with $0 amount , and set PWCTRANSTYPE to 4, set AUTHONLYto "TRUE". Then the card will be validated and a customer token will be returned. Sample Request:<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWCLIENTID>XXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX</PWKEY> <PWUSER>XXXXX</PWUSER> <PWPASS>XXXXXXXXX</PWPASS> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>0</PWSALEAMOUNT> <PWINVOICENUMBER>XXXXXXXXXX</PWINVOICENUMBER> <PWTESTMODE>TRUE</PWTESTMODE> <PWAPPROVALURL>https://send.paywire.com/Receive.aspx</PWAPPROVALURL> <PWDECLINEURL>https://send.paywire.com/Receive.aspx</PWDECLINEURL> <PWVERSION>2</PWVERSION> <PWCONFIRM>TRUE</PWCONFIRM> <PWFORWARD>CC</PWFORWARD> <CVREQ>FALSE</CVREQ> <DETAILITEMS>0</DETAILITEMS> </TRANSACTIONHEADER> <CUSTOMER> <PWCTRANSTYPE>4</PWCTRANSTYPE> <VERIFY>FALSE</VERIFY> <AUTHONLY>TRUE</AUTHONLY> <MERCHANTCUSTOMERID>1XXXXX0</MERCHANTCUSTOMERID> <ADDRESS1>XXXXXXXXX</ADDRESS1> <CITY>XXXXXXXXXXXX</CITY> <STATE>XX</STATE> <COUNTRY>United States</COUNTRY> <ZIP>XXXXX</ZIP> </CUSTOMER></PAYMENTREQUEST> Sample Response Example:<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWCLIENTID>XXXXXXXXX</PWCLIENTID> <PWINVOICENUMBER>XXXXXXXXXX</PWINVOICENUMBER> <RESULT>APPROVAL</RESULT> <AMOUNT>0.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX9976</MACCOUNT> <PAYMETH>C</PAYMETH> <CCTYPE>VISA</CCTYPE> <AHNAME>XXXXX XXXXX</AHNAME> <AHFIRSTNAME>XXXXX</AHFIRSTNAME> <AHLASTNAME>XXXXX</AHLASTNAME> <PWUNIQUEID>1853178</PWUNIQUEID>

Page 15: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

15

<PWCUSTOMERID>C00054ie</PWCUSTOMERID> <AVSCODE>Y</AVSCODE></PAYMENTRESPONSE> Customer Token SaleUsed to process a sale using a token.Request String:<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWCLIENTID>XXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX</PWKEY> <PWUSER>XXXXX</PWUSER> <PWPASS>XXXXXXXXX</PWPASS> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWUNIQUEID /> <PWSALEAMOUNT>25</PWSALEAMOUNT> <PWINVOICENUMBER>OXXXXXX5</PWINVOICENUMBER> <PWAPPROVALURL>https://jhustage2.paywire.com/Receive.aspx</PWAPPROVALURL> <PWDECLINEURL>https://jhustage2.paywire.com/Receive.aspx</PWDECLINEURL> <PWVERSION>2</PWVERSION> <PWCONFIRM>TRUE</PWCONFIRM> <PWFORWARD>CC</PWFORWARD> <CVREQ>TRUE</CVREQ> <DETAILITEMS>0</DETAILITEMS> </TRANSACTIONHEADER> <CUSTOMER> <PWCUSTOMERID>CXXXXXX1</PWCUSTOMERID> <PWCTRANSTYPE>1</PWCTRANSTYPE> <VERIFY>FALSE</VERIFY> <AUTHONLY>FALSE</AUTHONLY> <MERCHANTCUSTOMERID>1XXXXX4</MERCHANTCUSTOMERID> <ACCTHOLDERFIRSTNAME /> <ACCTHOLDERLASTNAME /> <ADDRESS1>XXXXXXX</ADDRESS1> <ADDRESS2 /> <CITY>XXXXXX XXXX</CITY> <STATE>XX</STATE> <COUNTRY>United States</COUNTRY> <ZIP>XXXXX</ZIP> <EMAIL>XXXXXX@XXXXXX</EMAIL> </CUSTOMER></PAYMENTREQUEST> Response String Example:<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWINVOICENUMBER>OXXXXXXXXX</PWINVOICENUMBER> <RESULT>APPROVAL</RESULT> <AMOUNT>25.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX8408</MACCOUNT> <PAYMETH>C</PAYMETH>

Page 16: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

16

<CCTYPE>VISA</CCTYPE> <AHNAME>XXXXX XXXX</AHNAME> <AHFIRSTNAME>XXXXX</AHFIRSTNAME> <AHLASTNAME>XXXX</AHLASTNAME> <PWUNIQUEID>1XXXXXX7</PWUNIQUEID> <EMAIL>XXXXXX@XXXX</EMAIL> <AUTHCODE>0XXXXC</AUTHCODE> <PWCUSTOMERID>CXXXXXl</PWCUSTOMERID> <AVSCODE>Z</AVSCODE></PAYMENTRESPONSE>

Page 17: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

17

Service Availability Ping

The OSBP Ping service provides a way to test the status of the website page, database, and Paywire Gateway. Service Availability Ping:<?xml version="1.0" encoding="UTF-8"?><SERVICESTATUS> <TRANSACTIONHEADER> <PWCLIENTID /> <PWKEY /> <PWUSER /> <PWPASS /> <PWTRANSACTIONTYPE /> </TRANSACTIONHEADER></SERVICESTATUS> Service Availability Ping Response:<?xml version="1.0" encoding="utf-8" ?><SERVICERESPONSE> <RESULT /></SERVICERESPONSE> The result will either be UP or DOWN. If the result is UP than the website, database, and Paywire Gateway are allonline. If the result is DOWN then one or more of the three are down.

Page 18: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

18

Sample Transactions

There are multiple options located under the PWTRANSACTIONTYPE tag that allow the developer to generatedifferent types of transactions. These options are Sale, which directly charges the card of bank account (if specified),Credit to simply credit the transaction, and Void which voids the charge as long as the transaction is in the currentopen batch. These options are available on theXML test send page: "https://send.paywire.com"

Page 19: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

19

SALE

One Time Sale Request<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWCLIENTID>0000000003</PWCLIENTID> <PWKEY>6CB6911B-61C6-464E-903B-BB70CFC663AE</PWKEY> <PWUSER>osbptest</PWUSER> <PWPASS>OSBPTEST</PWPASS> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10.00</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <PWAPPROVALURL>https://send.paywire.com/Receive.aspx</PWAPPROVALURL> <PWDECLINEURL>https://send.paywire.com/Receive.aspx</PWDECLINEURL> <PWCONFIRM>TRUE</PWCONFIRM> <DETAILITEMS>0</DETAILITEMS> </TRANSACTIONHEADER> <CUSTOMER> <PWCTRANSTYPE>3</PWCTRANSTYPE> <MERCHANTCUSTOMERID>2010122801</MERCHANTCUSTOMERID> <COMPANYNAME>PAYWIRE</COMPANYNAME> <FIRSTNAME>JOE</FIRSTNAME> <LASTNAME>SMITH</LASTNAME> <ADDRESS1>3400 Charles Street</ADDRESS1> <ADDRESS2 /> <CITY>Baltimore</CITY> <STATE>MD</STATE> <ZIP>21210</ZIP> <COUNTRY>USA</COUNTRY> <EMAIL>[email protected]</EMAIL> <PRIMARYPHONE>410-516-8000</PRIMARYPHONE> <WORKPHONE>410-516-8220</WORKPHONE> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <RESULT>APPROVAL</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE>TAS709</AUTHCODE> <AVSCODE>N</AVSCODE> <CVVCODE>M</CVVCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>596</PWUNIQUEID></PAYMENTRESPONSE> Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER>

Page 20: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

20

<RESULT>CVV2 MISMATCH</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <CVVCODE>N</CVVCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>597</PWUNIQUEID></PAYMENTRESPONSE>

Page 21: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

21

CREDIT

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWCLIENTID>0000000003</PWCLIENTID> <PWKEY>6CB6911B-61C6-464E-903B-BB70CFC663AE</PWKEY> <PWUSER>osbptest</PWUSER> <PWPASS>OSBPTEST</PWPASS> <PWTRANSACTIONTYPE>CREDIT</PWTRANSACTIONTYPE> <PWSALEAMOUNT>5.00</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <PWAPPROVALURL>https://send.paywire.com/Receive.aspx</PWAPPROVALURL> <PWDECLINEURL>https://send.paywire.com/Receive.aspx</PWDECLINEURL> <PWUNIQUEID>619</PWUNIQUEID> <DETAILITEMS>1</DETAILITEMS> </TRANSACTIONHEADER> <DETAILRECORDS> <DETREC> <GLCODE>200200</GLCODE> <COSTCENTER>2000200002</COSTCENTER> <FUNDNUM>3030003003</FUNDNUM> <DETAILAMOUNT>5.00</DETAILAMOUNT> </DETREC> </DETAILRECORDS></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <RESULT>APPROVAL</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <PAYMETH>C</PAYMETH> <PWUNIQUEID>638</PWUNIQUEID></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <RESULT>CREDIT AMOUNT EXCEEDS THE ORIGINAL TRANSACTION</RESULT> <PWCLIENTID>0000000003</PWCLIENTID></PAYMENTRESPONSE>

Page 22: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

22

VOID

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWCLIENTID>0000000003</PWCLIENTID> <PWKEY>6CB6911B-61C6-464E-903B-BB70CFC663AE</PWKEY> <PWUSER>osbptest</PWUSER> <PWPASS>OSBPTEST</PWPASS> <PWTRANSACTIONTYPE>VOID</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10.00</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <PWAPPROVALURL>https://send.paywire.com/Receive.aspx</PWAPPROVALURL> <PWDECLINEURL>https://send.paywire.com/Receive.aspx</PWDECLINEURL> <PWUNIQUEID>621</PWUNIQUEID> </TRANSACTIONHEADER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <RESULT>APPROVAL</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE>TAS950</AUTHCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>618</PWUNIQUEID></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>NOT IN OPEN BATCH</RESULT></PAYMENTRESPONSE>

Page 23: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

23

OSBP Recurring Setup

Paywire now offers merchants the ability to set up a recurring billing system through the OSBP XML interface.Shown below is the current structure of the Paywire OSBP XML, with some of the tags removed for brevity. For thisnew recurring system, there will be two changes. The first is that the transaction type "5" will need to be specifiedin the PWCTRANSTYPE tag. This will indicate that a recurring payment is being set up. The second addition to theXML is the entire RECURRING block. This will contain all of the necessary information for Paywire to store. Severalexample values have been included in these tags show the correct format for the fields. The one email addresssupplied is for the cardholder so that they can get an email receipt for each time their card is charged. The start datetag is of the form YYYY-MM-DD. The valid values for the frequency are "W" for weekly, "M" for monthly, and "Y" foryearly. ...</TRANSACTIONHEADER><CUSTOMER> <PWCTRANSTYPE>5 Recurring, Add new customer</PWCTRANSTYPE> <ACCTHOLDERFIRSTNAME>Joe</ACCTHOLDERFIRSTNAME> <ACCTHOLDERLASTNAME>Smith</ACCTHOLDERLASTNAME> <EMAIL>[email protected]</EMAIL> ... <RECURRING> <STARTON>2012-06-01</STARTON> <FREQUENCY>W</FREQUENCY> <PAYMENTS>4</PAYMENTS> <FIRSTNAME>Junior</FIRSTNAME> <LASTNAME>Smith</LASTNAME> </RECURRING></CUSTOMER> Upon receiving the customers' billing information, the recurring billing plan will be complete. This plan will then bestored in our database and the customer will get charged at the frequency given until all payments have been made.

Page 24: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

24

Sample Source Code

C# Sample code:In Sending Page:

protected void Button1_Click(object sender, EventArgs e){ string url = "http://localhost:52983/OSBP/pwosbp.aspx"; string content = TextBox1.Text; if (TextBox1.Text == "") { } else { HTTPPostForm(content, url); }} private void HTTPPostForm(string content, string url){ System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.Write("<html><head></head>"); System.Web.HttpContext.Current.Response.Write(string.Format("<body onload=\"document.{0}.submit();\">","newForm")); System.Web.HttpContext.Current.Response.Write("<form name=\"newForm\" target=\"_parent\" method=\"POST\"action=\"" + url + "\">"); System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"PWREQUEST\"value=\"{0}\">", base64Encode(content))); System.Web.HttpContext.Current.Response.Write("</form>"); System.Web.HttpContext.Current.Response.Write("</body></html>");} public string base64Encode(string data){ try { byte[] encData_byte = new byte[data.Length]; encData_byte = System.Text.Encoding.UTF8.GetBytes(data); string encodedData = Convert.ToBase64String(encData_byte); return encodedData; } catch (Exception e) { throw new Exception("Error in base64Encode" + e.Message); }}

In Receive Page:

protected void Page_Load(object sender, EventArgs e){ string requestString = ""; StreamReader reader = new StreamReader(this.Request.InputStream); requestString = reader.ReadToEnd();

Page 25: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

25

requestString = requestString.Substring(11); requestString = Server.UrlDecode(requestString); Label1.Text = base64Decode(requestString);} public string base64Decode(string data){ try { System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding(); System.Text.Decoder utf8Decode = encoder.GetDecoder(); byte[] todecode_byte = Convert.FromBase64String(data); int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); char[] decoded_char = new char[charCount]; utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0); string result = new String(decoded_char); return result; } catch (Exception e) { throw new Exception("Error in base64Decode" + e.Message); }}

VB.NET Sample code:In Sending Page: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim url As String = "http://localhost:62996/Receive.aspx" Dim content As String = TextBox1.Text If TextBox1.Text = "" Then Else HTTPPostForm(content, url) End If End Sub Private Sub HTTPPostForm(ByVal content As String, ByVal url As String) System.Web.HttpContext.Current.Response.Clear() System.Web.HttpContext.Current.Response.Write("<html><head></head>") System.Web.HttpContext.Current.Response.Write(String.Format("<body onload=""document.{0}.submit();"">","newForm")) System.Web.HttpContext.Current.Response.Write("<form name=""newForm"" target=""_parent""method=""POST""action=""" & url & """>") System.Web.HttpContext.Current.Response.Write(String.Format("<input type=hiddenname=""PWREQUEST""value=""{0}"">", base64Encode(content))) System.Web.HttpContext.Current.Response.Write("</form>") System.Web.HttpContext.Current.Response.Write("</body></html>") End Sub Public Function base64Encode(ByVal data As String) As String Try Dim encData_byte As Byte() = New Byte(data.Length - 1) {} encData_byte = System.Text.Encoding.UTF8.GetBytes(data)

Page 26: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

26

Dim encodedData As String = Convert.ToBase64String(encData_byte) Return encodedData Catch e As Exception Throw New Exception("Error in base64Encode" + e.Message) End Try End Function In Receive Page: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim requestString As String = "" Dim reader As New StreamReader(Me.Request.InputStream) requestString = reader.ReadToEnd() requestString = requestString.Substring(11) requestString = Server.UrlDecode(requestString) Label1.Text = base64Decode(requestString) End Sub Public Function base64Decode(ByVal data As String) As String Try Dim encoder As New System.Text.UTF8Encoding() Dim utf8Decode As System.Text.Decoder = encoder.GetDecoder() Dim todecode_byte As Byte() = Convert.FromBase64String(data) Dim charCount As Integer = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length) Dim decoded_char As Char() = New Char(charCount - 1) {} utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0) Dim result As String = New [String](decoded_char) Return result Catch e As Exception Throw New Exception("Error in base64Decode" + e.Message) End Try End Function

Page 27: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

27

OSBP Designer Page

As a OSBP Designer you can make changes to the OSBP by logging into the Designer's Portal. In the Designer'sPortal you can create the header and footer design, generate the checkout code, and choose the required fieldsettings. Designing the Header and FooterClick on the Header and Footer Design link. On the Header and Footer Design page there is one box enter code forthe header and one box for the footer. You also have the option to fill the boxes with the code for either the defaultType A design of Type B design. Click preview to view the changes. When you are done designing the header andfooter, click save.

Checkout Code GenerationWhen you click on the link to generate the check out code, you will come to the page where you can add items tosell. When you click Add new Product, boxes will come up to add the product name, price, and description. Fill in thefields and click add. The new product will be added to the table and assigned a product ID.

You can now select the item by clicking on the text "Select" on the left end of the table. You're now able to edit theinformation you just put in, as well as put down the Return URL. After your customer submits their information on oursite, the return URL is where we will redirect them back to.

Page 28: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

28

Once you've entered in the Return URL, you can click "Generate Checkout Button". This will generate two samplebuttons, one being a Link Button, the other being a regular Button. You can copy this code and put it on your site, butbe sure not to alter the "pwclientid" field or "itemid" field. Click "Save" and you're finished Required Field SettingsThe Required Field Settings allow you to choose what fields that you want to be required for your buy page. Bydefault, only Card Number, Expiration, and CVV2 are required. All additional fields are listed here, and can beincluded by checking the appropriate box. When you are finished, you can click "Save" and then "Back".

Page 29: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

29

Flow Chart

Page 30: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

30

Checkout Options OSBP Checkout The OSBP payment checkout page and how it is displayed for customers. If the Paywire XML test send page isapplicable, selecting the buttons "Generate XML" then "Direct Send" will directly send you to the checkout page. Thedeveloper may create their own personal checkout through the use of the following information.

A checkout item would be created that consists of all of the following info: Product Name:Product Description:Product Price:

Page 31: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

31

Return URL: Once the above info is filled out, Paywire can generate a test button for you to try out. The Return URL is a page onyour own site that users will be posted back to after fully completing a payment. Below is an example checkout link provided by Paywire.https://dbstage1.paywire.com/OSBP/pwosbp_sale.aspx?pwclientid=0000000003&itemid=291063543774&address=http://paywire.com Simple Checkout Our simple checkout option allows developers to use a single button for checkout. By contacting"[email protected]" we can generate a checkout button to your standards and specifications. Shown below is anexample of a commonly used simple button that is used by most developers. Here's the same link as the OSBP checkout, embedded in a simple HTML button. Most merchants will just paste thisinto their site. <input type="button" value="Check Out" onClick="window.open('https://dbstage1.paywire.com/OSBP/pwosbp_sale.aspx?pwclientid=0000000003&itemid=291063543774&address=http://paywire.com','_self'); "> The test credit cards below are available for testing with the use of any non-expired date. MC: 5413330089010608 CVV2: 998VISA: 4264281522221117 CVV2: 999DISC: 6510000000000034 CVV2: 996 If there are any issues regarding the OSBP checkout and/or need assistance, please visit the help page and submita ticket or contact [email protected].

Page 32: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

32

API XML Developer Guide

Overview Application programming interface or "API" is the alternate subroutine interface to Off Site Buy Page. API is primarilyused by developers who want to apply payment transactions to their own formatted interface with the use of thePaywire XML test send page. API Data Flow If the developer requires more information on API, the following with show information regarding the API's data flowand its process.

1. Customer connects to the merchant's product/registration page. Customer enters preliminary form data (contactinfo, etc) and payment information.2. XML post containing payment data and credentials is generated and posted to our API receive page.3. Request received and stored on our server.4. Payment is sent to the processor.5. The approval/decline response is received from the processor, then interpreted and stored.6. Result XML is posted back to the merchant's website containing the payment result and other transaction relatedresponse fields.7. The merchant's website collects the return XML and displays the transaction result to the customer.

Page 33: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

33

API XML Specification

The API XML developer page is accessible through the test send page "https://send.paywire.com".The "Type" option is displayed on the top left corner of the page which lets you toggle off between the OSBPoption and the API page. Sales Voids and CreditsSales, Voids and Credits use the following format: <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWCLIENTID>required</PWCLIENTID> <PWKEY>required</PWKEY> <PWUSER>required</PWUSER> <PWPASS>required</PWPASS> <PWTRANSACTIONTYPE>required</PWTRANSACTIONTYPE> <PWSALEAMOUNT>required</PWSALEAMOUNT> <PWINVOICENUMBER>required</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>required</PWMEDIA> <CARDNUMBER>PWMEDIA=CC</CARDNUMBER> <EXP_MM>PWMEDIA=CC</EXP_MM> <EXP_YY>PWMEDIA=CC</EXP_YY> <CVV2>PWMEDIA=CC</CVV2> <BANKACCTTYPE>PWMEDIA=ECHECK</BANKACCTTYPE> <ROUTINGNUMBER>PWMEDIA=ECHECK</ROUTINGNUMBER> <ACCOUNTNUMBER>PWMEDIA=ECHECK</ACCOUNTNUMBER> <PWTOKEN /> <REQUESTTOKEN /> <FIRSTNAME /> <LASTNAME /> <ACCTHOLDERFIRSTNAME /> <ACCTHOLDERLASTNAME /> <COMPANYNAME /> <ADDRESS1 /> <ADDRESS2 /> <CITY /> <STATE /> <ZIP /> <COUNTRY /> <EMAIL /> <PRIMARYPHONE /> <WORKPHONE /> </CUSTOMER> <RECURRING> <STARTON /> <FREQUENCY /> <PAYMENTS /> </RECURRING>

Page 34: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

34

</PAYMENTREQUEST> *Please note that recurring plans can be set up through the API as well using the previously described syntax. Transaction Field Definitions: PWVERSION*

– The Paywire XML version number. Valid version numbers are "1", "2", and "3". If no version is entered, "1"is set as default.

PWCLIENTID* – Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.PWKEY*

– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.PWUSER*

– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.PWPASS*

– Assigned by Paywire. If no match is found, the user is sent to PWDECLINEURL.

PWTRANSACTIONTYPE*– Transaction types:

SALE – Charge a card or bank account (if applicable).VOID – Void a transaction. The transaction amount must match the amount of the originaltransaction, and the PWUNIQUEID must match the unique identifier associated with the transactionto void. The transaction must be in the current open batch to void it.CREDIT – Credit a transaction. The transaction amount must be equal to or less than the amountto credit, and the PWUNIQUEID must match the unique identifier associated with the transaction tocredit.FORCE – Charge a card with Auth Code.PREAUTH – Pre-authorise a card.GETCASHDISCOUNT – Input the sale amount to get cash discount amount, tax amount and thetotal transaction amount .STORETOKEN - Validate a credit card and return a token.REMOVETOKEN - Delete an existing token from Paywire.BATCHINQUIRY - Get the current open batch summary.CLOSE – Close the current open batch.SEARCHTRANS – Query the database for transaction results.DELETERECURRING – Delete a recurring plan.

PWSALEAMOUNT*

– Amount of the transaction . Always positive. Can either be whole dollar amount (50) or dollar amount withdecimal and cents (50.00). Maximum 7 digits, or 7 digits with decimal then 2 digits. Any other characters(letters, "$", etc...) are not accepted.– For cash discount merchants, this should be the original sale amount. All the taxes and adjustments willbe calculated automatically. "GETCASHDISCOUNT" request can be used to get the final amount that thecustomer will be charged and display to the front-end user before sending the actual SALE request.

PWINVOICENUMBER*

– Merchant invoice number, generated by the user. The merchant’s unique invoice number associated withthis transaction. The maximum length is 20 characters, alphanumeric only.

Page 35: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

35

PWMEDIA*– The payment method: "CC" for credit cards and "ECHECK" for E-Checks.

CARDNUMBER*

– Required for credit card payments. Only available when CC method is selected.EXP_MM*

– Required for credit card payments. Only available when CC method is selected.EXP_YY*

– Required for credit card payments. Only available when CC method is selected.CVV2*

– Required for credit card payments. Only available when CC method is selected. BANKACCTTYPE*

– Required for E-Check ACH payments. Only available when ECHECK method is selected.ROUTINGNUMBER*

– Required for E-Check ACH payments. Only available when ECHECK method is selected.ACCOUNTNUMBER*

– Required for E-Check ACH payments. Only available when ECHECK method is select.

PWTOKEN– Optional for both CC and ACH payments. Make a sale using the token stored at Paywire instead ofsending CARDNUMBER, EXP MM, EXP YY and CVV2 or ROUTINGNUMBER and ACCOUNTNUMBER.

REQUESTTOKEN– Optional for both CC and ACH payments. Value should be "TRUE" or "FALSE". Will return credit card/ E-Check token if set to "TRUE". If this tag does not appear in the request string, will return CC token and notreturn ACH token by default.

ACCTHOLDERFIRSTNAME

– Account Holder First name. (Optional)ACCTHOLDERLASTNAME

– Account Holder Last name. (Optional)

FIRSTNAME– First name.

LASTNAME– Last name.

COMPANYNAME

– Company name. (Optional)ADDRESS1

– Primary Address. (Optional)ADDRESS2

– Secondary Address. (Optional) CITY

– City. (Optional)STATE

– State. (Optional)COUNTRY

– Country. (Optional)

Page 36: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

36

ZIP– Zip Code. (Optional)

EMAIL

– Email Address. (Optional) PRIMARYPHONE

– Primary Phone Number. (Optional)

WORKPHONE– Work Phone Number. (Optional)

RECURRING– If this tag appears in an sale transaction request, a recurring plan will be created. * Please do not send theRECURRING tag for any transactions other than recurring.

STARTON– The start date of the recurring plan, format should be YYYY-MM-DD. If the start date was set to the currentdate, the first payment will be processed right after the plan is created.

FREQUENCY– The payment frequency of the recurring plan. The valid values for the frequency are "W" for weekly, "M"for monthly, and "Y" for yearly.

PAYMENTS– The total payment count of the recurring plan. Should be a valid integer between 1 to 160.

Page 37: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

37

Sample TransactionsThere are multiple options located under the PWTRANSACTIONTYPE tag that allow the developer to generatedifferent types of transactions. These options are

• SALE – Charge a card or bank account (if applicable) or setup recurring payment plan.• VOID – Void a transaction. The transaction amount must match the amount of the originaltransaction, and the PWUNIQUEID must match the unique identifier associated with the transactionto void. The transaction must be in the current open batch to void it.• CREDIT – Credit a transaction. The transaction amount must be equal to or less than the amountto credit, and the PWUNIQUEID must match the unique identifier associated with the transaction tocredit.• FORCE – Charge a card with Auth Code.• PREAUTH – Pre-authorise a card.• GETCASHDISCOUNT – Input the sale amount to get cash discount amount, tax amount and thetotal transaction amount. This is used to get the final amount that will be charged and show to theuser before sending the SALE transaction.• STORETOKEN - Validate a credit card and return a token.• REMOVETOKEN - Delete an existing token from Paywire.• DELETERECURRING - Delete an existing recurring plan from Paywire.• BATCHINQUIRY - Get the current open batch summary.• CLOSE – Close the current open batch.• SEARCHTRANS - Query the database for transaction results.

These options are available on the XML test send page: "https://send.paywire.com"

Page 38: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

38

SALE

Page 39: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

39

Credit Card Sale

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <COMPANYNAME>Paywire</COMPANYNAME> <FIRSTNAME>JOE</FIRSTNAME> <LASTNAME>SMITH</LASTNAME> <EMAIL>[email protected]</EMAIL> <ADDRESS1>74 Forest Street</ADDRESS1> <CITY>Hartford</CITY> <STATE>CT</STATE> <ZIP>06105</ZIP> <COUNTRY>United States</COUNTRY> <PRIMARYPHONE>8605701271</PRIMARYPHONE> <WORKPHONE>8605701271</WORKPHONE> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>4111111111111111</CARDNUMBER> <EXP_MM>02</EXP_MM> <EXP_YY>22</EXP_YY> <CVV2>123</CVV2> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE>000034</AUTHCODE> <AVSCODE>M</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>10</PWUNIQUEID> <AHNAME>JOE SMITH</AHNAME> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0034</MACCOUNT> <EMAIL>[email protected]</EMAIL> <CCTYPE>DISC</CCTYPE> <PWTOKEN>XXXXXXXXXXXXXXXXXXXX</PWTOKEN> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 40: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

40

Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DECLINE</RESTEXT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE /> <AVSCODE>0</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>2</PWUNIQUEID> <AHNAME>JOE SMITH</AHNAME> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX1111</MACCOUNT> <EMAIL>[email protected]</EMAIL> <CCTYPE>VISA</CCTYPE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 41: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

41

E-Check Sale

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> </TRANSACTIONHEADER> <CUSTOMER> <COMPANYNAME>Paywire</COMPANYNAME> <FIRSTNAME>JOE</FIRSTNAME> <LASTNAME>SMITH</LASTNAME> <EMAIL>[email protected]</EMAIL> <ADDRESS1>74 Forest Street</ADDRESS1> <CITY>Hartford</CITY> <STATE>CT</STATE> <ZIP>06105</ZIP> <COUNTRY>United States</COUNTRY> <PRIMARYPHONE>1234567890</PRIMARYPHONE> <WORKPHONE>1234567891</WORKPHONE> <PWMEDIA>ECHECK</PWMEDIA>

<BANKACCTTYPE>CHECKING</BANKACCTTYPE><ROUTINGNUMBER>222224444</ROUTINGNUMBER><ACCOUNTNUMBER>4242204082</ACCOUNTNUMBER>

</CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>54</BATCHID> <PWCLIENTID>xxxxxxxxxx</PWCLIENTID> <PAYMETH>A</PAYMETH> <PWUNIQUEID>12345</PWUNIQUEID> <AHNAME>JOE SMITH</AHNAME> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXX4082</MACCOUNT> <CCTYPE>ACH</CCTYPE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE> Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DECLINE</RESTEXT>

Page 42: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

42

<BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <PAYMETH>A</PAYMETH> <PWUNIQUEID>12345</PWUNIQUEID> <AHNAME>JOE SMITH</AHNAME> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXX4082</MACCOUNT> <CCTYPE>ACH</CCTYPE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 43: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

43

Recurring Payment Setup

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10.00</PWSALEAMOUNT> <PWINVOICENUMBER>test_recurring_123</PWINVOICENUMBER> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>5413330089010608</CARDNUMBER> <EXP_MM>12</EXP_MM> <EXP_YY>22</EXP_YY> <CVV2>212</CVV2> <EMAIL>[email protected]</EMAIL> <FIRSTNAME>Recr</FIRSTNAME> <LASTNAME>Test</LASTNAME> </CUSTOMER> <RECURRING> <STARTON>2018-06-01</STARTON> <FREQUENCY>W</FREQUENCY> <PAYMENTS>4</PAYMENTS> </RECURRING></PAYMENTREQUEST> Successful Response:<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>52</BATCHID> <PWCLIENTID>xxxxxxxxxx</PWCLIENTID> <AUTHCODE>006354</AUTHCODE> <AVSCODE>0</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>127671</PWUNIQUEID> <AHNAME>Recr Test</AHNAME> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <EMAIL>[email protected]</EMAIL> <CCTYPE>MC</CCTYPE> <PWTOKEN>XXXXXXXXXXXXXXXXXXXX</PWTOKEN> <PWINVOICENUMBER>test_recurring_123</PWINVOICENUMBER> <RECURRINGID>123</RECURRINGID></PAYMENTRESPONSE>

Page 44: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

44

Recurring Payment Delete

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>DELETERECURRING</PWTRANSACTIONTYPE> </TRANSACTIONHEADER> <CUSTOMER> <RECURRINGID>1234</RECURRINGID> </CUSTOMER></PAYMENTREQUEST> Successful Response:<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID></PAYMENTRESPONSE>

Page 45: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

45

VOID <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>VOID</PWTRANSACTIONTYPE> <PWUNIQUEID>10</PWUNIQUEID> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE>000034</AUTHCODE> <AVSCODE>0</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>11</PWUNIQUEID> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0034</MACCOUNT> <CCTYPE>DISC</CCTYPE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE> Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>ERROR</RESULT> <RESTEXT>ORIG TRANS ERROR</RESTEXT></PAYMENTRESPONSE>

Page 46: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

46

CREDIT Credit By PWUNIQUEID<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>CREDIT</PWTRANSACTIONTYPE> <PWUNIQUEID>12</PWUNIQUEID> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <PAYMETH>C</PAYMETH> <PWUNIQUEID>13</PWUNIQUEID> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE> Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DUP CARD DATA</RESTEXT></PAYMENTRESPONSE> Credit By CARDNUMBER<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>apitest</PWUSER> <PWPASS>APITEST</PWPASS> <PWCLIENTID>0000000003</PWCLIENTID> <PWKEY>6CB6911B-61C6-464E-903B-BB70CFC663AE</PWKEY>

Page 47: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

47

<PWTRANSACTIONTYPE>CREDIT</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWCTRANSTYPE>3</PWCTRANSTYPE> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>5413330089010608</CARDNUMBER> <EXP_MM>02</EXP_MM> <EXP_YY>22</EXP_YY> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <PAYMETH>C</PAYMETH> <PWUNIQUEID>14</PWUNIQUEID> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWTOKEN>E068BE26EAB4425A9212</PWTOKEN> <PWINVOICENUMBER>001001001001</PWINVOICENUMBER></PAYMENTRESPONSE> Decline Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DUP CARD DATA</RESTEXT></PAYMENTRESPONSE>

Page 48: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

48

FORCE <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>FORCE</PWTRANSACTIONTYPE> <AUTHCODE>000034</AUTHCODE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001002</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>5413330089010608</CARDNUMBER> <EXP_MM>02</EXP_MM> <EXP_YY>22</EXP_YY> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE>000034</AUTHCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>15</PWUNIQUEID> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWTOKEN>B04477BE1E974A109613</PWTOKEN> <PWINVOICENUMBER>001001001002</PWINVOICENUMBER></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DUP INVOICE</RESTEXT></PAYMENTRESPONSE>

Page 49: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

49

PREAUTH <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>PREAUTH</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>5413330089010608</CARDNUMBER> <EXP_MM>02</EXP_MM> <EXP_YY>22</EXP_YY> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE /> <AVSCODE>R</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>17</PWUNIQUEID> <AMOUNT>10.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWTOKEN>DC2A08A2482443C2B615</PWTOKEN> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>DECLINED</RESULT> <RESTEXT>DUP INVOICE</RESTEXT></PAYMENTRESPONSE>

Page 50: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

50

GETCASHDISCOUNT

<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>GETCASHDISCOUNT</PWTRANSACTIONTYPE> <PWSALEAMOUNT>100</PWSALEAMOUNT> <PWINVOICENUMBER>test_cashdiscount_1002</PWINVOICENUMBER> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <PWCLIENTID>0000000130</PWCLIENTID> <PWSALEAMOUNT>100.00</PWSALEAMOUNT> <PWADJDESC>Adjustment</PWADJDESC> <PWADJAMOUNT>3.00</PWADJAMOUNT> <PWSALETAX>6.70</PWSALETAX> <AMOUNT>109.70</AMOUNT> <PWINVOICENUMBER>test_cashdiscount_1002</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 51: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

51

STORETOKEN <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>STORETOKEN</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> <CARDNUMBER>5413330089010608</CARDNUMBER> <EXP_MM>02</EXP_MM> <EXP_YY>22</EXP_YY> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>1</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <AUTHCODE /> <AVSCODE>0</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>19</PWUNIQUEID> <AMOUNT>0.00</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWTOKEN>821AD5B7EECD482E9916</PWTOKEN> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>ERROR</RESULT> <RESTEXT>INVALID CC FORMAT</RESTEXT></PAYMENTRESPONSE>

Page 52: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

52

TOKENSALE <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>SALE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>20</PWSALEAMOUNT> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWMEDIA>CC</PWMEDIA> <PWTOKEN>821AD5B7EECD482E9916</PWTOKEN> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <BATCHID>17</BATCHID> <PWCLIENTID>0000010049</PWCLIENTID> <AUTHCODE>006777</AUTHCODE> <AVSCODE>Y</AVSCODE> <PAYMETH>C</PAYMETH> <PWUNIQUEID>333</PWUNIQUEID> <PWADJDESC>Custom Adj</PWADJDESC> <PWADJAMOUNT>0.85</PWADJAMOUNT> <PWSALETAX>1.30</PWSALETAX> <PWSALEAMOUNT>20.00</PWSALEAMOUNT> <AMOUNT>22.15</AMOUNT> <MACCOUNT>XXXXXXXXXXXX0608</MACCOUNT> <CCTYPE>MC</CCTYPE> <PWTOKEN>38B0237EEDE04DDF8251</PWTOKEN> <PWINVOICENUMBER>17306095338577797</PWINVOICENUMBER></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>ERROR</RESULT> <RESTEXT>INVALID CC FORMAT</RESTEXT></PAYMENTRESPONSE>

Page 53: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

53

REMOVETOKEN <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>REMOVETOKEN</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER> <PWCTRANSTYPE>3</PWCTRANSTYPE> <PWMEDIA>CC</PWMEDIA> <PWTOKEN>821AD5B7EECD482E9916</PWTOKEN> </CUSTOMER></PAYMENTREQUEST> Approval Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>APPROVAL</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <PAYMETH>C</PAYMETH> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER></PAYMENTRESPONSE> Declined Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>ERROR</RESULT> <RESTEXT>NEED TOKEN</RESTEXT></PAYMENTRESPONSE>

Page 54: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

54

BATCHINQUIRY <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>BATCHINQUIRY</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER> <CUSTOMER /></PAYMENTREQUEST> Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>SUCCESS</RESULT> <PWCLIENTID>0000000003</PWCLIENTID> <BATCHID>1</BATCHID> <SALESTOTAL>120.00</SALESTOTAL> <SALESRECS>3</SALESRECS> <CREDITAMT>20.00</CREDITAMT> <CREDITRECS>2</CREDITRECS> <NETCRAMT>100.00</NETCRAMT> <NETCRRECS>5</NETCRRECS> <VOIDAMT>12.00</VOIDAMT> <VOIDRECS>3</VOIDRECS> <PWINVOICENUMBER>001001001004</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 55: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

55

CLOSE <?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>CLOSE</PWTRANSACTIONTYPE> <PWSALEAMOUNT>10</PWSALEAMOUNT> <PWINVOICENUMBER>001001001005</PWINVOICENUMBER> <CARDPRESENT>FALSE</CARDPRESENT> </TRANSACTIONHEADER></PAYMENTREQUEST> Response<?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>SUCCESS</RESULT> <BATCHID>2</BATCHID> <PWCLIENTID>0000000003</PWCLIENTID> <BATCHID>2</BATCHID> <SALESTOTAL>10.00</SALESTOTAL> <SALESRECS>1</SALESRECS> <CREDITAMT>0.00</CREDITAMT> <CREDITRECS>0</CREDITRECS> <NETCRAMT>10.00</NETCRAMT> <NETCRRECS>1</NETCRRECS> <VOIDAMT>0.00</VOIDAMT> <VOIDRECS>0</VOIDRECS> <PWINVOICENUMBER>001001001005</PWINVOICENUMBER></PAYMENTRESPONSE>

Page 56: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

56

SEARCHTRANS<?xml version="1.0" encoding="UTF-8"?><PAYMENTREQUEST> <TRANSACTIONHEADER> <PWVERSION>3</PWVERSION> <PWUSER>XXXXXXXX</PWUSER> <PWPASS>XXXXXXXXXXXX</PWPASS> <PWCLIENTID>XXXXXXXXXX</PWCLIENTID> <PWKEY>XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXX</PWKEY> <PWTRANSACTIONTYPE>SEARCHTRANS</PWTRANSACTIONTYPE> </TRANSACTIONHEADER> <SEARCHCONDITION> <COND_DATEFROM>2017-10-01 00:00</COND_DATEFROM> <COND_DATETO>2017-10-26 14:00</COND_DATETO> <COND_UNIQUEID /> <COND_BATCHID /> <COND_TRANSAMT>1.00</COND_TRANSAMT> <COND_TRANSTYPE>ALL</COND_TRANSTYPE> <COND_RESULT>ALL</COND_RESULT> <COND_CARDTYPE>ALL</COND_CARDTYPE> </SEARCHCONDITION></PAYMENTREQUEST> <?xml version="1.0" encoding="UTF-8"?><PAYMENTRESPONSE> <RESULT>SUCCESS</RESULT> <PWCLIENTID>0000000130</PWCLIENTID>

<SEARCHRESULT>&lt;PWPAYDETAIL&gt;&lt;PWUID&gt;1439411&lt;/PWUID&gt;&lt;BATCHID&gt;73179&lt;/BATCHID&gt;&lt;TRANSTYPE&gt;SALE&lt;/TRANSTYPE&gt;&lt;CARDTYPE&gt;MC&lt;/CARDTYPE&gt;&lt;CARDNUM&gt;X0608&lt;/CARDNUM&gt;&lt;TRANSAMOUNT&gt;9.00&lt;/TRANSAMOUNT&gt;&lt;ADJAMOUNT&gt;0.00&lt;/ADJAMOUNT&gt;&lt;TIPAMOUNT&gt;0.00&lt;/TIPAMOUNT&gt;&lt;TAXAMOUNT&gt;0.00&lt;/TAXAMOUNT&gt;&lt;CREDITAMOUNT&gt;0.00&lt;/CREDITAMOUNT&gt;&lt;AUTHCODE&gt;009202&lt;/AUTHCODE&gt;&lt;RESULT&gt;CAPTURED&lt;/RESULT&gt;&lt;NAME&gt;JOE SMITH&lt;/NAME&gt;&lt;TRANSTIME&gt;11/20/2017 02:18 PM&lt;/TRANSTIME&gt;&lt;/PWPAYDETAIL&gt;&lt;PWPAYDETAIL&gt;&lt;PWUID&gt;1439412&lt;/PWUID&gt;&lt;BATCHID&gt;73179&lt;/BATCHID&gt;&lt;TRANSTYPE&gt;SALE&lt;/TRANSTYPE&gt;&lt;CARDTYPE&gt;MC&lt;/CARDTYPE&gt;&lt;CARDNUM&gt;X0608&lt;/CARDNUM&gt;&lt;TRANSAMOUNT&gt;5.48&lt;/TRANSAMOUNT&gt;&lt;ADJAMOUNT&gt;0.16&lt;/ADJAMOUNT&gt;&lt;TIPAMOUNT&gt;0.00&lt;/TIPAMOUNT&gt;&lt;TAXAMOUNT&gt;0.33&lt;/TAXAMOUNT&gt;&lt;CREDITAMOUNT&gt;0.00&lt;/CREDITAMOUNT&gt;&lt;AUTHCODE&gt;009205&lt;/AUTHCODE&gt;&lt;RESULT&gt;CAPTURED&lt;/RESULT&gt;&lt;NAME&gt;JOE SMITH&lt;/NAME&gt;&lt;TRANSTIME&gt;11/20/2017 02:44 PM&lt;/TRANSTIME&gt;&lt;/PWPAYDETAIL&gt;&lt;PWPAYDETAIL&gt;&lt;PWUID&gt;1439413&lt;/PWUID&gt;&lt;BATCHID&gt;73179&lt;/BATCHID&gt;&lt;TRANSTYPE&gt;SALE&lt;/TRANSTYPE&gt;&lt;CARDTYPE&gt;MC&lt;/CARDTYPE&gt;&lt;CARDNUM&gt;X0608&lt;/CARDNUM&gt;&lt;TRANSAMOUNT&gt;2.56&lt;/TRANSAMOUNT&gt;

Page 57: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

57

&lt;ADJAMOUNT&gt;0.07&lt;/ADJAMOUNT&gt;&lt;TIPAMOUNT&gt;0.00&lt;/TIPAMOUNT&gt;&lt;TAXAMOUNT&gt;0.15&lt;/TAXAMOUNT&gt;&lt;CREDITAMOUNT&gt;0.00&lt;/CREDITAMOUNT&gt;&lt;AUTHCODE&gt;009217&lt;/AUTHCODE&gt;&lt;RESULT&gt;CAPTURED&lt;/RESULT&gt;&lt;NAME&gt;JOE SMITH&lt;/NAME&gt;&lt;TRANSTIME&gt;11/20/2017 05:07 PM&lt;/TRANSTIME&gt;&lt;/PWPAYDETAIL&gt;</SEARCHRESULT>

<PWINVOICENUMBER>17334175907545950</PWINVOICENUMBER></PAYMENTRESPONSE> Field Definitions: COND_DATEFROM / COND_DATETO:

– The date and time range for the transaction search, the data should in the format of : yyyy-MM-dd HH:mm COND_UNIQUEID:

– The specified Unique ID of a transaction

COND_BATCHID:– The specified Batch ID of a transaction

COND_TRANSAMT:– The specified transaction amount of the transactions, should contain numbers and decimal point only.

COND_TRANSTYPE:

– The specified transaction type of the transactions, must be one of the following 4 values:ALLSALEVOIDCREDIT

COND_RESULT:

– The specified transaction result of the transactions, must be one of the following 4 values:ALLSUCCESSDECLINEDVOIDED

COND_CARDTYPE:

– The specified card type of the transactions, must be one of the following 5 values:ALLVISAMCDISCAMEX

Notes:The transaction search result is in the content of tag <SEARCHRESULT>, all the &lt; need to be replaced with < andall the &gt; will need to be replaced with > , therefore will get: <?xml version="1.0" encoding="UTF-8"?><SEARCHRESULT>

Page 58: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

58

<PWPAYDETAIL> <PWUID>1439411</PWUID> <BATCHID>73179</BATCHID> <TRANSTYPE>SALE</TRANSTYPE> <CARDTYPE>MC</CARDTYPE> <CARDNUM>X0608</CARDNUM> <TRANSAMOUNT>9.00</TRANSAMOUNT> <ADJAMOUNT>0.00</ADJAMOUNT> <TIPAMOUNT>0.00</TIPAMOUNT> <TAXAMOUNT>0.00</TAXAMOUNT> <CREDITAMOUNT>0.00</CREDITAMOUNT> <AUTHCODE>009202</AUTHCODE> <RESULT>CAPTURED</RESULT> <NAME>JOE SMITH</NAME> <TRANSTIME>11/20/2017 02:18 PM</TRANSTIME> </PWPAYDETAIL> <PWPAYDETAIL> <PWUID>1439412</PWUID> <BATCHID>73179</BATCHID> <TRANSTYPE>SALE</TRANSTYPE> <CARDTYPE>MC</CARDTYPE> <CARDNUM>X0608</CARDNUM> <TRANSAMOUNT>5.48</TRANSAMOUNT> <ADJAMOUNT>0.16</ADJAMOUNT> <TIPAMOUNT>0.00</TIPAMOUNT> <TAXAMOUNT>0.33</TAXAMOUNT> <CREDITAMOUNT>0.00</CREDITAMOUNT> <AUTHCODE>009205</AUTHCODE> <RESULT>CAPTURED</RESULT> <NAME>JOE SMITH</NAME> <TRANSTIME>11/20/2017 02:44 PM</TRANSTIME> </PWPAYDETAIL> <PWPAYDETAIL> <PWUID>1439413</PWUID> <BATCHID>73179</BATCHID> <TRANSTYPE>SALE</TRANSTYPE> <CARDTYPE>MC</CARDTYPE> <CARDNUM>X0608</CARDNUM> <TRANSAMOUNT>2.56</TRANSAMOUNT> <ADJAMOUNT>0.07</ADJAMOUNT> <TIPAMOUNT>0.00</TIPAMOUNT> <TAXAMOUNT>0.15</TAXAMOUNT> <CREDITAMOUNT>0.00</CREDITAMOUNT> <AUTHCODE>009217</AUTHCODE> <RESULT>CAPTURED</RESULT> <NAME>JOE SMITH</NAME> <TRANSTIME>11/20/2017 05:07 PM</TRANSTIME> </PWPAYDETAIL></SEARCHRESULT>

Page 59: Paywire Developer Guide Developer... · OSBP Developer Guide ... error occurs. Paywire provided sample URL " PWFORWARD* – What payment page to forward the user to.

59