Payment API

Commissions

Payment Facilitator

Process Using an Existing Token

A ProtectPay® Payer Management Interface, such as the Hosted Payments Page, is recommended when credit card information must be obtained, for the first time, from one of your customers. ProtectPay® also supports cases where the merchant already has a valid ProtectPay® token.

Use the ProtectPay® API call, ProcessPaymentMethodTransaction to initiate a credit card transaction when you already have a ProtectPay® payment method ID available.

Client validation of credit cards

Before processing or tokenizing a credit card that will be processed against any ProPay API, you should consider client-side validation of its card number. Any validation that you do should occur on the cardholder’s browser using JavaScript or similar technology, and should consider what a valid card number looks like:

How to call this method:

HTTP URL(s)
HTTP Verb PUT
HTTP Header Authorization
Example Request
Example Response

How to call this method:

SOAP Action ProcessPaymentMethodTransaction
WSDL URL https://xmltestapi.propay.com/protectpay/sps.svc?wsdl
WSDL Operation SPSService.ProcessPaymentMethodTransaction(id,transaction,paymentMethodID,optionalPaymentInfoOverrides)
Example Request
Example Response
Method Implementation
Method Implementation
Method Implementation
Dependencies
Method Implementation Header
Method Implementation
Request Submission
Method Implementation
Request Submission
Method Implementation
Request Submission
Method Implementation
Request Submission
Method Implementation
Request Submission
Request Values
Request Attribute Max Length Required Format Notes
AuthenticationToken 100 Authorization String Valid value is a GUID. Value supplied by ProPay®. Used to access the API.
BillerAccountId 16 Authorization String Value supplied by ProPay®. Used to identify the correct collection of tokens.
Address1 50 No String Cardholder address
Address2 50 No String Cardholder address
Address3 50 No String Cardholder address
Amount Required String The value representing the number of pennies in USD, or the number of [currency] without decimals.
BankAccountType 1 No String Type of bank account to pull from.
Valid values are:
  • Checking
  • Savings
  • LoanCredit
  • GeneralLedger
City 25 No String Cardholder address
Comment1 128 No Integer
Comment2 128 No String
Country 3 No String Cardholder address.
*Must be ISO 3166 standard 3 character country code.
CurrencyCode 3 Required String ISO 4217 standard 3 character currency code.
CVV 4 No String CVV code.
*If submitted via the API, this must always be done using an optional Payment override
*ProtectPay® will not store this value for you.
Email 100 No String Email address for the payment method
ExpirationDate 4 No String
FullName 50 No String Cardholder name
InputIpAddress 15 No String IP addresses must be passed along with Session ID to trigger Threat Metrix process flows
Invoice 50 No String Recommended. Transaction descriptor-only passed if supported by your gateway.
*ProPay® gateway rejects duplicates for same invoice #, card # and amount in 1 minute.
IpAddress 15 No String IP address as read from cardholder browser session.
Very few gateways require this.
MerchantProfileId Required Interger Used to specify which processor and merchant account to process the transaction against.
PayerAccountId 16 Required String *Both payer and payment method must be specified in order to process against stored data.
paymentMethodID 36 Required String Valid value is a GUID.
*Both payer and payment method must be specified in order to process against stored data.
SecCode 3 No* String *Standard Entry Class Code applies to ACH Payment Methods Only.
Valid values are:
  • PPD
  • CCD
  • WEB
  • TEL
SessionId 128 No String IP addresses must be passed along with Session ID to trigger Threat Metrix process flows
Sate 3 No String Cardholder address
TelephoneNumber 20* No String The phone number for the payment method.
*10 digits for US numbers.
ZipCode 10 No String Cardholder address
** Either the originalTransactionID or the TransactionHistoryId is required. If both are sent, the TransactionHistoryId is disregarded and the originalTransactionID is used.
Response Values
Request Attribute Notes
RequestResult.ResultValue The ProtectPay® API Method Response Value;
SUCCESS: indicates the method completed;
FAILURE: indicates the method call failed and you should reference the code and message
RequestResult.ResultCode The ProtectPay® API Method Response Code.
RequestResult.ResultMessage The ProtectPay® API Method Response Message.
AuthorizationCode Will return null as it is not applicable for Voids
AVSCode Will return as not present as it is not applicable for Voids
CurrencyConversionRate The rate for currency conversion used for multi-currency transactions
CurrencyConvertedAmount Gross converted amount of transaction in the number of [currency] without decimals for multi-currency transactions
CurrencyConvertedCurrencyCode The currency the transaction was converted to for multi-currency transactions
CVVResponseCode Will not return as it is not applicable for Voids
GrossAmt Gross amount of transaction of pennies in USD, or the number of [currency] without decimals.
GrossAmtLessNetAmt Total amount of fees charged; *ProPay® Gateway Only
NetAmt Net amount of transaction after fees charged; *ProPay® Gateway Only
PerTransFee Per transaction fee; *ProPay® Gateway Only
Rate Percentage fee; *ProPay® Gateway Only
Transaction.ResultCode.ResultValue The result value of the transaction request as reported by the ProtectPay®. SUCCESS or FAILURE
Transaction.ResultCode.ResultCode The result code of the transaction request as reported by ProtectPay®.
Transaction.ResultCode.ResultMessage The result message of the transaction request as reported by ProtectPay®.
TransactionHistoryId Unique transaction number assigned by ProtectPay®.
TransactionId Transaction number assigned by processor (Gateway)
TransactionResult Transaction result as reported by processor (Gateway)
Data from ProPay, Inc API documentation.

What's Your Next Step?

Make sure you can void and refund transactions