Stripe
About Stripe:
We think that building an internet business is a problem rooted in code and design, not finance. Our developer-friendly APIs let our users focus on building great products.
We love the web and care deeply about beautiful code, APIs, and documentation. We really like startups and building products—the people at Stripe have previously helped start Skype, Lala, Act Blue, Kickoff, Interstate, Automatic, Encyclopedia, GazeHawk, and Wesabe.
Stripe’s investors include Sequoia Capital, Andreessen Horowitz, and PayPal co-founders Peter Thiel, Max Levchin, and Elon Musk.
Implemented Parameters:
Feature | Level of Support |
---|---|
Auth | Implemented |
Sale (Auth+Capture) | Implemented |
Capture | Implemented |
Void | Implemented |
Credit | Implemented |
Gateway Tokenization | Implemented |
3DS Full Integration | Implemented |
Authentication and Security Credentials:
- Secret Key
Supported Parameters:
Key Name | Format | Mandatory | Descriptions |
---|---|---|---|
apiVersion | Numerical | Required | “1.0.1” |
apiType | Alphabetical | Required | “pxyhpci” |
userName | Alphanumeric | Required | API Username |
userPassKey | Alphanumeric | Required | API PassKey |
pxyCreditCard.creditCardNumber | Numerical | Required | HostedPCI Token Representing Credit Card |
pxy.CreditCard.cardCodeVerification | Numerical | Optional | HostedPCI Token Representing CVV Code |
pxyCreditCard.expirationMonth | Numerical | Required | Expiration month with 2 digits for example, for December use “12” |
pxyCreditCard.expirationYear | Numerical | Required | Expiration year with 4 digits for example, for 2025, use “2025” |
pxyTransaction.txnCurISO | Alphabetical | Required | 3 letter ISO Currency Code for example, “USD” or “CAD” |
pxyTransaction.txnAmount | Numerical | Required | Amount to Authorize, for example for $10.50 use 10.50 |
pxyTransaction.merchantRefId | Numerical | Required | Merchant reference number can be order id or invoice id |
pxyTransaction.txnPayName | Alphanumeric | Required | HostedPCI payment profile name, for example “DEF” |
pxyTransaction.txnComment | Alphabetical | Optional | Short comment |
pxyCustomerInfo.email | Alphanumeric | Optional | Customer’s Email Address |
pxyCustomerInfo.customerId | Alphanumeric | Optional | Customer ID |
pxyCustomerInfo.billingLocation.firstName | Alphabetical | Optional | Customer’s First Name |
pxyCustomerInfo.billingLocation.lastName | Alphabetical | Optional | Customer’s Last Name |
pxyCustomerInfo.billingLocation.address | Alphanumeric | Optional | Customer’s Billing Address |
pxyCustomerInfo.billingLocation.address2 | Alphanumeric | Optional | Secondary Billing Address |
pxyCustomerInfo.billingLocation.city | Alphabetical | Optional | Customer’s Billing City |
pxyCustomerInfo.billingLocation.state | Alphabetical | Optional | Customer’s Billing State or Province |
pxyCustomerInfo.billingLocation.zipCode | Numerical | Optional | Customer’s Billing Zip Code or Postal Code |
pxyCustomerInfo.billingLocation.country | Alphabetical | Optional | Customer’s Billing Country |
Additional Parameters
KEY NAME | FORMAT | DESCRIPTIONS |
---|---|---|
pxyTransaction.merchantProductName | Alphabetical | Required for Soft Descriptors |
pxyTransaction.merchantPhoneNum | Alphabetical | Required for Soft Descriptors |
API Endpoint URL:
https://[HPCI_API_HOSTENAME]/iSynSApp/paymentAuth.action
API Request Body:
apiVersion=1.0.1&apiType=pxyhpci&userName=[APIuserName]&userPassKey=[APIPassKey]&pxyCreditCard.creditCardNumber=[CreditCardToken]&pxyCreditCard.cardCodeVerification=[CVVToken]&pxyCreditCard.expirationMonth=[ExpiryMonth]&pxyCreditCard.expirationYear=[ExpiryYear]&pxyTransaction.txnCurISO=[Currency]&pxyTransaction.txnAmount=[Amount]&pxyTransaction.merchantRefId=[UniqueMerchantRefID]&pxyTransaction.txnPayName=[ProfileName]&pxyTransaction.txnComment=[ShortComment]&pxyCustomerInfo.billingLocation.firstName=[CustomerFirstName]&pxyCustomerInfo.billingLocation.lastName=[CustomerLastName]&pxyCustomerInfo.billingLocation.address=[BillingStreetAddress]&pxyCustomerInfo.billingLocation.city=[BillingCity]&pxyCustomerInfo.billingLocation.state=[State/Province]&pxyCustomerInfo.billingLocation.zipCode=[ZipCode/PostalCode]&pxyCustomerInfo.billingLocation.country=[Country]&pxyCustomerInfo.shippingLocation.firstName=[ShippingFirstName]&pxyCustomerInfo.shippingLocation.lastName=[ShippingLastName]&pxyCustomerInfo.shippingLocation.address=[ShippingStreetAddress]&pxyCustomerInfo.shippingLocation.city=[ShippingCity]&pxyCustomerInfo.shippingLocation.state=[ShippingState/Province]&pxyCustomerInfo.shippingLocation.zipCode=[ShippingZipCode/PostalCode]&pxyCustomerInfo.shippingLocation.country=[ShippingCountry]
3D Secure Implementation with Stripe Pay Intent
Stripes 3DS 2.0 verifyenroll API Call
- In order to implement 3Dsecure 2.0 with stripe pay intent, the following parameters are required.
- The table below contains the additional required parameters during the first 3Ds API call (‘verifyenroll’).
PARAMETER | VALUES |
---|---|
pxy.Transaction.txnPayName | [NameofStripePayProfile] |
pxyThreeDSecAuth.callMode | [reportall] |
pxyThreeSecAuth.actionName | [verifyenroll] |
pxyCustomerInfo.browserUserAgentHeader | [Browser User Agent Header] |
pxyCustomerInfo.browserAcceptHeader | [Browser Accept Header] |
Stripes 3DS 2.0 Verifyresp API Call
- If verifyenroll call was successful it will return parameters required to make the second API call (‘verifyresp’).
- The table below contains parameters required for the ‘veriresp’ call.
PARAMETER | VALUES |
---|---|
pxy.Transaction.txnPayName | [NameofStripePayProfile] |
pcyThreeSecAuth.actionName | [verifyresp] |
pxyThreeDSecAuth.authTxnId | [threeDSTransactionId – returned from the ‘verifyenroll’ call] |
pxyThreeDSecAuth.messageId | [Response from verifyenroll call – pxyResponse.threeDSMessageId] |
pxyThreeDSecAuth.authAcsUrl | [Response from verifyenroll call – pxyResponse.threeDSAcsUrl] |
Stripe Gateway Tokenization:
Parameters Required for Gateway Tokenization:
PARAMETERS | VALUE |
---|---|
pxyCreditCard.creditCardNumber | [HostedPCI Token] |
pxyCreditCard.cardCodeVerification | [HostedPCI CVV place holder] |
pxyCreditCard.expirationMonth | [Credit Card expire month] |
pxyCreditCard.expirationYear | [Credit Card expire year] |
pxyTransaction.txnPayName | [Profile Name provided by HostedPCI] |
pxyCustomerInfo.billingLocation.firstName | [Client’s first name as it appears on the card] |
pxyCustomerInfo.billingLocation.lastName | [Client’s last name as it appears on the card] |
Stripe Payment Gateway API Call:
Request:
pxyCreditCard.creditCardNumber=4111000018801111&apiVersion=1.0.1&userPassKey=[APIPasskey]&pxyCreditCard.expirationMonth=09&pxyCreditCard.expirationYear=2022&pxyCustomerInfo.billingLocation.lastName=Paul&pxyCustomerInfo.billingLocation.firstName=Test&userName=[APIUsername]&pxyCreditCard.cardCodeVerification=200&pxyTransaction.txnPayName=DEF_LULUS_STRIPE&apiType=pxyhpci
Response:
status=success&operId=&tokenId=583460837&mappedCC=4111000018801111&ccBIN=&pxyResponse.threeDSEnrolled=&pxyResponse.threeDSAcsUrl=&pxyResponse.threeDSErrorDesc=&pxyResponse.processorRefId=cus_INXCWl3QL6Arnb&pxyResponse.processorType=stripeResponse&pxyResponse.threeDSMessageId=&pxyResponse.threeDSSessionId=&pxyResponse.cardOnFileIssuerId=&pxyResponse.mappedParams=txnResponse.ccTypeEst%3DVISA&pxyResponse.threeDSARS=&pxyResponse.threeDSOrderId=&pxyResponse.gatewayToken.status=&pxyResponse.responseStatus.name=&pxyResponse.responseAVS2=N&pxyResponse.responseStatus=approved&pxyResponse.gatewayToken=cus_INXCWl3QL6Arnb&pxyResponse.responseAVS1=N&pxyResponse.responseAVS4=&pxyResponse.threeDSCAVV=&pxyResponse.responseAVS3=&pxyResponse.gatewayToken.fullNativeResp=&pxyResponse.threeDSXid=&pxyResponse.threeDSProtoVersion=&pxyResponse.responseStatus.reasonCode=&pxyResponse.threeDSPARequest=&pxyResponse.responseCVV1=N&pxyResponse.threeDSECI=&pxyResponse.responseCVV2=&pxyResponse.fullNativeResp=country%3DUS%26last4%3D1111%26data.count%3D%26account_balance%3D0%26livemode%3Dfalse%26address_state%3D%26description%3D%26exp_month%3D9%26exp_year%3D2022%26issuer%3D%26iin%3D%26result%3D1%26cvc_check%3D%26address_line2%3D%26dataId%3Dcard_1Hmm7eJSxgSnKvgBat4BnETb%26address_line1%3D%26delinquent%3Dfalse%26customerId%3Dcus_INXCWl3QL6Arnb%26fingerprint%3DuohmNXFENqbodL1I%26currency%3D%26default_for_currency%3D%26dynamic_last4%3D%26brand%3DVisa%26email%3D%26address_zip_check%3D%26funding%3Dcredit%26default_source%3Dcard_1Hmm7eJSxgSnKvgBat4BnETb%26created%3D1605211822%26address_country%3D%26total_count%3D1%26address_city%3D%26tokenization_method%3D%26deleted%3D%26name%3DTest%2BPaul%26recipient%3D%26address_line1_check%3D%26address_zip%3D%26has_more%3Dfalse%26account%3D%26object%3Dcard&pxyResponse.threeDSAcsPageData=&pxyResponse.gatewaySubToken2=&pxyResponse.threeDSTransactionId=&pxyResponse.gatewaySubToken1=&pxyResponse.gatewaySubToken3=&pxyResponse.merchantRefId=&pxyResponse.threeDSErrorId=&pxyResponse.txnPayName=DEF_LULUS_STRIPE&pxyResponse.threeDSSRS=