{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f8ee9fb2-6402-4064-a5b7-f530f9f29e2c","name":"WalletAPI Development Guide","description":"# Overview\n\nThe Wallet API provides the ability to create and manage wallet sites and wallet views usable within the BridgeComm API and BridgePay’s Recurring Billing system.\n\n## Construct\n\nComponents that make up the structure on the Wallet API and its usage.\n\n\\* **WalletSite** - a collection of wallets. It is agnostic in that it has no requirement to be associated with any given merchant account, merchant group, or reseller. It can also be shared among multiple merchant accounts, belonging to multiple merchant groups, and even resellers.  \n\\* **Wallet** - a collection of payment methods (similar to a physical wallet). A wallet belongs to a wallet site  \n\\* **Payment Method** - contains all the necessary information to perform a transaction (Token, Expiration Date (or Routing Number) and AVS information  \n\\* **Merchant Account Subscribes to a Wallet Site** - multiple merchant accounts can subscribe to the same wallet site (effectively sharing payment information data), but one merchant account cannot subscribe to multiple wallet sites.  \n\\* **Contract in Recurring Billing** - exists between a merchant account and a customer of the merchant account.  \n\\* **Customer Account** - describes the customer (one of the parties in the contract)  \n\\* **Financially Responsible Party** - a person or business that has access to one or more wallets. A customer account can have multiple financially responsible parties\n\n## Order of Process Flow\n\nThe order in which each Wallet API component must be created or used.\n\n1. **Create a Wallet Site**  \n    \\* Use api/Wallet/CreateWalletSite to create a new site\n    \n2. **Connect a Merchant Account to Site**  \n    \\* Use api/Boarding/CreateGatewayConfiguration\n    \n    ```\n         OR\n    \n     ```\n    \n    \\* Go to Gateway Configuration tab on MyBridgePay\n    \n3. **Create a WalletView**  \n    \\* Use api/Wallet/CreateWalletView to create a new Wallet\n    \n4. **Get all the Wallet Details**  \n    \\* Use api/Wallet/GetWalletByWalletId to get the details for the wallet created\n    \n5. **Call BridgeComm or Transaction API with the Wallet Details**  \n    \\* Call BridgeComm or Transaction API using the relevant data elements instead of using Token, Card Number, Expiration Date, Bank Account Number, Routing Number, etc. For BridgeComm, use WalletPaymentMethodID or CustomerWalletID. For Transaction API, use walletPaymetMethodId and customerWalletId.\n    \n6. **Use the Recurring Billing API to connect the Wallet to a Customer Account**  \n    \\* Create an AccountHolder using the RecurringBilling API using the BridgePay Wallet ID as the GUID\n    \n\n# Authentication\n\nEach call to the Wallet API requires credentials. The Credentials object is used as a property of other objects in the API. The Credentials Object contains two properties:\n\n**UserName** and **Password**.\n\nBoth properties are strings.\n\n# Production URLs\n\nUAT:\n\n[https://www.bridgepaynetsecuretest.com/Wallet.API/api/Wallet/](https://www.bridgepaynetsecuretest.com/Wallet.API/api/Wallet/)\n\nProduction:\n\n[https://www.bridgepaynetsecuretx.com/Wallet.API/api/Wallet/](https://www.bridgepaynetsecuretx.com/Wallet.API/api/Wallet/)\n\n# Testing and Integration Support\n\nIn the live environment, transactions must be initiated over an SSL-protected connection using a minimum of 128-bit encryption to protect sensitive data. Initial testing can be performed over an unencrypted connection; however, testing must be performed over an SSL-encrypted channel before a client can be certified to production. Only test card/ACH account data may be transmitted -_no live payment information should ever be transmitted to the test system._\n\n```\n  🛈A test or live merchant account with BridgePay is necessary to successfully process transactions. To acquire a test account, complete the test account request form located on the [BridgePay Integrator Support Portal](https://bridgepaynetwork.force.com/is/s/login/).\n\n ```\n\nYou may use the following test payment account information in testing:\n\n| Payment Type | Token | Routing Number | Expiry Date | Security Code |\n| --- | --- | --- | --- | --- |\n| MasterCard | 5439750001500347 |  |  |  |\n| Visa | 4005550000000019 |  |  |  |\n| Discover | 60011111111111117 |  |  |  |\n| Diners | 36999999999999 |  |  |  |\n| AMEX | 374255312721002 |  |  |  |\n| ACH | 11110000000000279992 | 021000021 |  |  |\n\n# Response Model\n\nEach call to the API uses a common wrapper around the response object that is returned. This wrapper is called the ResponseModel. The **ResponseModel** object contains the following properties:\n\n| Property Name | Data Type | Length | Notes |\n| --- | --- | --- | --- |\n| MissingFields | List |  | This property is an array of strings that identify any fields that were missing in the request that caused the request to fail. For example, calling GetWalletViewByCustomerId without the CustomerWalletId will result in a failed request and this property will contain “CustomerWalletId” in the list, indicating that it was missing. |\n| InvalidFields | List |  | This property is an array of strings that identify fields that failed validation and caused the request to fail. For example: Sending invalid credentials will cause the request to fail and this property will contain “Credentials” in the list, indicating that the credentials failed validation. |\n| Messages | List |  | This property is an array of strings that provides more detailed information about the success or failure of the request. For example, when trying to retrieve a WalletView using GetWalletByCustomerId, if the ID requested does not exist in the database, the CustomerWalletId will be represented in the **InvalidFields** property since the ID was invalid, and the Messages property will contain a string saying, “Wallet not found.” as a means to provide more information about the failure. |\n| Success | Boolean |  | Indicates whether the request succeeded or not. |\n| Id |  | String | If the requested action affected one particular record, this field contains the ID of the record affected by the method called. For example, if the consumer requested to Deactivate a WalletView, the ID field in the ResponseModel would be the ID of the WalletView that was deactivated. |\n| ReturnObjectType | String |  | Identifies the type of object stored in the ReturnObject property. |\n| ReturnObject | Varies |  | This polymorphic object contains the object that was requested via the method. For example, if the consumer requested a WalletView, this ReturnObject property will contain the WalletView object they intended to retrieve. |\n| PageSize | Integer |  | For future expansion |\n| Page | Integer |  | For future expansion |\n| Total | Integer |  | For future expansion |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"12042629","team":1219657,"collectionId":"f8ee9fb2-6402-4064-a5b7-f530f9f29e2c","publishedId":"TWDTNzVn","public":true,"publicUrl":"https://documenter-api.postman.tech/view/12042629/TWDTNzVn","privateUrl":"https://go.postman.co/documentation/12042629-f8ee9fb2-6402-4064-a5b7-f530f9f29e2c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"336699"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"336699"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"336699"}}]}},"version":"8.12.3","publishDate":"2023-05-26T14:55:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/e5fb6ed8c548bf3f1cc6971574661cb025bee04fefd07aea28c05c1ea5d7fc10","favicon":"https://res.cloudinary.com/postman/image/upload/v1603909092/team/cladybj2atahj6748oqd.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/TWDTNzVn"}