PayPal Website Payments Pro

Overview

  • Discusses the steps required to use the PayPal Website Payments Pro payment gateway API with the Stone Edge Order Manager.
  • If your shopping cart is not yet set up to use PayPal, contact your web administrator/host for help.
    NOTE: it is beyond the scope of this document and Stone Edge tech support to set up PayPal on your website.

API Access Credentials Overview

  • “API Access” credentials from PayPal must be obtained before you can use PayPal Website Payments Pro with Stone Edge.
  • Stone Edge needs your PayPal “API” User Name and Password to access your PayPal account information.
    • NOTE: This is NOT your PayPal login -> login specifically assigned by PayPal for access to the PayPal API used by third-party applications.
  • PayPal requires either a “Signature” or a “Client Certificate” for user validation to allow access to the API.
    • IMPORTANT NOTE: If you have already been using PayPal Website Payments Pro on your website for payment processing -> verify the security method
      Stone Edge must be configured with the same method used by your website!
  • SIGNATURE 
    • Fastest and simplest authentication method, but slightly less secure than using a Client Certificate.
    • Uses the encrypted string value you include with your API calls to identify yourself.
    • This method is similar to an additional password to identify which account will be used to process the transaction.
  • CLIENT CERTIFICATE
    • The document provided by PayPal uses public key/private key encryption of your account credentials.
    • More secure than the Signature method.
    • Requires:
      • Encrypt client certificate documents received from PayPal using OpenSSL.
      • Install the client certificate in Window’s Certificate Store on each PC that needs to access the PayPal website.

Obtaining PayPal API Access Credentials

To obtain PayPal API, Access credentials, go to your PayPal dashboard at www.paypal.com. 

  1. Hover over your name to access the dropdown menu in the upper-right-hand corner.
  2. Click “Account Settings.”
  3. Click “Update” in the API Access section.

  4. Scroll down toward the bottom of the page to the “NVP/SOAP API integration (Classic)” section.
  5. Click “Manage API credentials.”

  6. If no API credentials are already created, you will get the option to create either the API signature or certificate.
    NOTE: Check the overview above for the pros and cons of each.

    1. API Signature -> will create an API username, password, and signature that will be entered into Stone Edge.
    2. API Certificate -> will create a .txt file that needs to be encrypted, then downloaded on every computer interacting with the PayPal API.
      NOTE: it will save as ‘cert_ket_pem.txt’ -> remove the single quotes from the file name.

Installing the Client Certificate on Your Workstation(s)

If you are using the Client Certificate method of user validation, you will need to install the certificate on each workstation that runs Stone Edge.

  1. Download OpenSSL: /index.html (openssl.org)
  2. Follow the tutorial to encrypt the downloaded .txt file: Create and Manage NVP/SOAP API Credentials (paypal.com)
    NOTE: Looks for the “Encrypt API certificates” header.
  3. Click the newly created certificate (paypal_cert.p12 based on PayPal tutorial) to open “Certificate Import Wizard.
    1. Import your own .p12 file in the Windows certificate store (Certificates) – IT Center Help (rwth-aachen.de)


  4. Follow the prompts in the wizard.
    1. Select “Local Machine.”
    2. Enter the password created with the .p12 file.
    3. Include “all extended properties.”
    4. Select “Automatically select certificate store based on the type of certificate.”
    5. Finish.

NOTE: Must be done for each computer using PaPal API

NOTE: API Credentials for PayPal’s production site and the PayPal test site (SandBox) are NOT interchangeable!!! Please be aware that if you attempt to use Test API credentials on PayPal’s production site or Production API credentials on PayPal’s SandBox (test site), you will receive errors in SEOM. Ensure you know which credentials are installed in SEOM and set the PayPalTestMode parameter appropriately.

  1.  

Configuring Stone Edge

  1. Main Menu -> Gear Icon (Settings)
  2. System Functions -> Set System Parameters
  3. Parameter Group = Credit Cards

  4. Parameters
    1. CreditCardProcessor = Paypal
    2. PayPalUserName = Username issued by PayPal for access to PayPal API
    3. PayPalPassword = Password issued by PayPal for access to PayPal API
    4. PayPalTestMode = TRUE (default) to use PayPal Sandbox for testing
      1. Set to FALSE to use the PayPal production site
        NOTE: Separate API access credentials for the Sandbox and the Production platforms needed.
    5. WebTransactionType -> Make sure it agrees with the workflow
      1. If payments captured in Stone Edge are set to “Pre-Authorize”
      2. If payments captured on the website are set to “Sale.”
  5. Parameters for use with Signature
    1. PayPalSignature = PayPal “Signature” issued by PayPal for access to PayPal API
    2. PayPalUseCertificate = False
    3. PayPalCertificateName = (leave blank)
  6. Parameters for use with API Certificate
    1. PayPalUseCertificate = TRUE.
    2. PayPalCertificateName = “Issued To” name of the Certificate installed in the computer’s Certificate Store (typically same as API username).
    3. PayPalSignature = (leave blank)
  7. Parameter Group = Credit Cards POS (only if using POS system)
    NOTE: PayPal’s Direct Payment system DOES NOT currently support “Card Present” transactions -> not recommended as a gateway for a high transaction POS.
  8. Parameters
    1. CreditCardProcessorPOS = PayPal
      NOTE: Only if using the PayPal Direct Payment system for new credit card payments at the Manual Orders/View Orders screen
    2. PayPalUserNamePOS = Username issued by PayPal for access to PayPal API
    3. PayPalPasswordPOS = Password issued by PayPal for access to PayPal API
    4. PayPalTestModePOS = TRUE (default) to use PayPal Sandbox for testing
      1. Set to FALSE to use the PayPal production site
        NOTE: Separate API access credentials for the Sandbox and the Production platforms needed
  9. Parameters for use with Signature
    1. PayPalSignaturePOS = PayPal “Signature” issued by PayPal for access to PayPal API
    2. PayPalUseCertificatePOS = FALSE.
    3. PayPalCertificateNamePOS = (leave blank)
  10. Parameters for use with API Certificate
    1. PayPalUseCertificatePOS = TRUE.
    2. PayPalCertificateNamePOS = “Issued To” name of the Certificate installed in the computer’s Certificate Store (typically same as API username)
    3. PayPalSignaturePOS = (leave blank)
  11. Parameter Group = Order
  12.  Parameters
    1. PayPalOrdersArePaidInFull = True (if treating web orders with payment method “PayPal” as “paid in full”)
      NOTE: Can also be set on a cart-by-cart basis -> Click “PC & Cart Based Parameters”

Create a Payment Method for PayPal Transactions

You must designate the Payment Method in SEOM called “PayPal” to integrate with PayPal Website Payments Pro properly.

  1. Main Menu -> Gear Icon (Settings).
  2. Data Functions -> Payment Methods.
  3. Pop-up “Payment Methods” appear.

  4. Click “Add New.”
  5. Enter name: PayPal.
  6. Click “OK.”
  7. Payment will be in the “Existing Payment Methods” list.
  8. Click “Close.”

Additional PayPal Payment Processing Information

  • SEOM cannot initiate payments through PayPal’s Express Checkout system.
    • The process depends on control of the customer’s browser -> SEOM cannot do this.
  • If a customer places a manual order or POS order -> customer CAN NOT pay using their “PayPal account” and needs to use a credit cart.
    • Also, for entering new payments at the Payment tab of Process Orders.
  • SEOM processes the transaction through the PayPal Direct Payment system.
    • Can run either authorization or sale against credit card.
    • If the transaction is authorized.
      • Can capture/void transactions from the Payment tab of Process Orders, Manual Orders, or POS interface.
      • Payments can also be captured at the Multi-Order Processor.
    • For orders imported from shopping carts, Stone Edge:
      • Can perform Captures, Voids, or Reauthorizations against Authorized payments.
      • Can issue Credits against Sale/Captured payments regardless of if the transaction was processed through the Direct Payment/Express Checkout system.
    • If the Transaction ID number is unavailable -> SEOM treats the order paid through PayPal.
      • If parameter PayPalOrdersArePaidInFull = TRUE-> SEOM writes a transaction against the order, effectively “paying” it regardless of actual payment status.
      • If parameter PayPalOrdersArePaidInFull = FALSE -> SEOM does not write transaction against the order, leaving the order showing a balance due
        • It would be up to the merchant to verify with PayPal IF payment was received.
        • If payment is confirmed, -> merchant can “Log a Payment” against the order.
      • PayPal transactions that do not have a Transaction ID will NOT be visible at the Payment tab of the Process Orders screen.
    • If the “Edit” button does not appear on your Process Orders, screen -> set the parameter AllowEditTransactions = TRUE.
    • Once the PayPal Transaction ID is entered, -> transaction is visible on the Payment tab.
      • It can be managed through SEOM.

Getting Details About a Payment From PayPal

  • If order has PayPal transaction containing PayPal Transaction ID -> can be viewed on Process/View Orders Screen -> Payment -> transaction.
    • Approved = Pending transaction.
    • Captured = received payment.
    • For payments made using the Direct Payment system, -> may see credit card information (assumes the shopping cart provides info.
    • Credit card data is not required to manage PayPal payments in SEOM.
  • IMPORTANT: Should the State column show “n/a” -> Stone Edge could not verify the transaction’s status.
    • This may occur if the order is imported from a website that does not provide the transaction’s status, and SEOM cannot request the status from PayPal. (parameters incorrectly set, no internet access, etc.)
      • If PayPalOrdersArePaidInFull = FALSE -> Amount column shows 0
      • If PayPalOrdersArePaidInFull = TRUE -> Amount shows equal to the Grand Total.
    • Transactions should be verified through PayPal once the situation that prevented verification is resolved.
  • A transaction can be “pending” for a variety of reasons.
    • Transaction may be an authorization or held back while awaiting clearance, such as eChecks or currency conversion issues (Intl).
    • Some of these transactions must be handled directly in the PayPal interface, not from SEOM. In such situations, the transaction may clear at PayPal but still show pending in SEOM.
    • The payment verification system is designed to compare the status between PayPal and SEOM to see if SEOM’s information should be updated.
  • Verify a transaction’s status on PayPal.
    • Click on the transaction in the Payment tab of Process Orders.
    • SEOM recognizes the payment as a PayPal transaction and displays the PayPal Details button next to Transmit button.
    • Click -> Stone Edge requests all details from PayPal regarding the transaction.
    • The Pop-up will display the results of the request. Depending on the type of transaction, you may see different results.
  • If the transaction status between PayPal and SEOM agrees with ->, only see the “OK” button to close the pop-up.
    • Also, only appears if there is a major issue that SEOM cannot resolve.
  • If the transaction status between PayPal and SEOM does not agree, -> may be asked to update information in SEOM with data from PayPal.
    • Recommended for transaction with the status of “n/a.”

QuickBooks Considerations

  • Transactions through PayPal’s Direct Payment system cannot be written into SEOM as Credit Card payments.
  • Most of the carts supporting interface do not maintain the credit card number or type.
  • PayPal’s interface for retrieving payment details.
    • All transactions through a PayPal interface are marked as “PayPal” payments.
  • When exporting deposit data, all payments feed into an account defined for PayPal deposits.
    • The further breakdown is Direct Payment vs. Express Checkout vs. Visa/MasterCard, etc.

Troubleshooting

Error -214702489 Access Denied

  • Users should check the value of the Internet Explorer Security setting “Submit Nonencrypted form data” on each workstation that imports orders.
  • More info is HERE.
Updated on September 2, 2022

Was this article helpful?

Related Articles