openapi: 3.1.0 info: title: purchases-api Physical Card API version: '1.0' servers: - url: https://sandboxpurchasesapi.connexpay.com security: - sec0: [] tags: - name: PhysicalCard paths: /api/v1/PhysicalCard/{cardGuid}: put: summary: Copy of Issue Physical Card description: Use this endpoint to create a Physical Card. Issuing Physical Cards requires approval and set up. Please contact your Client Success representative if you're interested in learning more. operationId: post_apiv1IssueCardPhysicalCard-2 parameters: - name: Content-Type in: header description: '"application/json"' schema: type: string - name: Authorization in: header description: 'Token. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."' schema: type: string - in: path name: cardGuid schema: type: string required: true description: Global Unique Identifier of the Physical Card to be updated. requestBody: content: application/json: schema: type: object properties: FirstName: type: string description: Cardholder's first name. Updating this field and setting Reissue=true will issue a new card using the updated name field; it is the cardholder's responsibility to destroy the prior card as well. This is the last name placed on the physical card and the value is also searchable in Bridge. The total length of the combined FirstName and LastName fields cannot exceed 25 characters. LastName: type: string description: Cardholder's last name. Updating this field and setting Reissue=true will issue a new card using the updated name field; it is the cardholder's responsibility to destroy the prior card as well. This is the last name placed on the physical card and the value is also searchable in Bridge. The total length of the combined FirstName and LastName fields cannot exceed 25 characters. Phone: type: integer description: Cardholder's phone number. Phone number up to 20 character string. format: int32 Address1: type: string description: Cardholder's address line 1. Alphanumeric. Address2: type: string description: Cardholder's address line 2. Alphanumeric. City: type: string description: Cardholder's city. State: type: string description: Cardholder's short name state. The ISO 3166-2 CA and US state or province code of a user. Length = 2. If a non U.S. or Canadian value is submitted the card request will not be processed and an error response returned. Country: type: string description: Cardholder's country. Only alpha-2 digit country code allowed and numbers are not allowed. See ISO-3166 country list of Alpha-2 country codes (https://www.iso.org/obp/ui/) . ZipCode: type: string description: Cardholder's zipcode. The Zipcode must be between 1 and 10 characters long, only numbers and letters are allowed. AmountLimit: type: number description: 'Security Control: Maximum dollar amount the card can be authorized and settled, which must be less than or equal to $4,999,999.99. The value must incorporate any anticipated overages such as currency conversion or taxes that a supplier may associate with the transaction. Once the amount limit has been reached, any future authorizations will be declined.' format: float UsageLimit: type: integer description: 'Security Control: Maximum number of times the card may be authorized. If you do not provide a usage limit, the card will be considered unlimited.' format: int64 LimitWindow: type: string description: 'Time period for the spending limits. Valid values: ''Daily'', ''Weekly'', and ''Monthly''. Defines how the amountLimit and usageLimit are reset.' enum: - Daily - Weekly - Monthly PurchaseType: type: string description: 'Security Control: The industry where the virtual card will be utilized. For example, if value set to airline and the card is used at hotel, it will be declined. Available purchase type values are: ''01'' (Airline), ''02'' (Hotels and Resorts), ''03'' (Car Rental), ''04'' (Cable, Satellite, Television, and Radio Services), ''05'' (Cruise Lines), ''06'' (Travel), ''11'' (Medical Services and Health Practitioners), ''21'' (Advertising Services), ''22'' (Misc Advertising and Business Services), ''23'' (Ticketing), ''31'' (Insurance Sales, Underwriting, and Premiums), ''32'' (Insurance and Real Estate Codes), ''91'' (Restaurants and Food Services), and ''93'' (Tax Payments). Required if MidWhitelist not provided.' AvsCheck: type: boolean description: Enable Address Verification System (AVS) check. When enabled, the address must match the billing address for authorization. TerminateDate: type: string description: 'Date when the card should be automatically terminated. Cannot be set to a date beyond one year from current date. Format: ISO 8601.' format: date-time Activated: type: boolean description: Indicate whether the card should be in an activated state. OrderNumber: type: string description: 'A value that is commonly used for reporting on and reconciling your PayIns and PayOuts. The Order Number is searchable in the ConnexPay Bridge and referenced in Analytics and reporting, and can be any identifier within your environment to associate with the sale or payment, such as a Record Locator, PNR, or transaction ID. The maximum length is 50 alpha-numeric characters and allows the following special characters: [._ /- ].' CustomerID: type: string description: 'Transaction ID within client environment associated with the customer. This value acts as a secondary identifier in conjunction with OrderNumber. The value is searchable and reportable in the ConnexPay portal. This value may be sent in multiple times within the integration for multiple purposes. The maximum length is 100 alphanumeric characters and the following special characters: [@._/-]. The maximum length is 50 characters and is alpha-numeric.' MidWhitelist: type: string description: List of Merchant IDs (MIDs) that are allowed. Only transactions at these merchants will be authorized. Required if PurchaseType not provided. MidBlacklist: type: string description: List of Merchant IDs (MIDs) that are blocked. Transactions at these merchants will be declined. reissueCard: type: boolean description: Indicate whether the card should be reissued. examples: Issue Physical Card Request Example: value: MerchantGuid: '{{Merchant}}' FirstName: Test LastName: User DateOfBirth: 01-01-1990 PurchaseType: '' TerminateDate: '2027-10-26' AmountLimit: 5.03 LimitWindow: DAY UsageLimit: 2 OrderNumber: Test-Physical-Card LabelIds: - 124996 Address1: 1st Street Address2: Unit 29 Country: US State: GA City: Alpharetta Zipcode: '30022' Phone: '3121231234' MIDWhitelist: - '675957401524052' MIDBlacklist: - '670414901524053' PhysicalCardFulfillment: NameLine1: Shawn NameLine2: Test ShippingMethod: USPSPri PhysicalCardShipping: FirstName: Pat LastName: Card Address1: 1st Street Address2: Apt S Country: US State: GA City: Abville Zipcode: '12345' responses: '200': description: '200' content: application/json: examples: Issue Physical Card Response Example: value: cardHolder: cardHolderGuid: fad4b188-75f5-4e9c-9398-4c4ab5798e38 firstName: Test lastName: User phone: '3121231234' address1: 1st Street address2: Unit 29 city: Alpharetta state: GA zipcode: '30022' country: US card: cardGuid: 792e5678-1d2d-4841-b0c4-6a052fc0c012 accountNumber: '44111101122112222' amountLimit: 5.03 usageLimit: 2 limitWindow: DAY expirationDate: '2028-11-30T23:59:59Z' expiration: '1128' terminateDate: '2027-10-26T23:59:59' currencyCode: USD firstSix: '441111' lastFour: '2222' nameLine1: Test nameLine2: User status: Card - Unactivated customerServicePhoneNumber: 1-612-601-0914 midWhitelist: - '675957401524052' midBlacklist: - '670414901524053' labelIds: - 124996 gatewayMerchantGuid: 340fc848-4495-4682-aaee-920c4339526b availableBalance: 5.03 isPhysical: true isLodged: false fingerprint: 0C77AA9C0E1E67E0B1B1A09E2C478F10 customerId: null supplierId: null issuerId: 3 country: '' cardBin: '550000' cardClass: CommercialCredit toleranceAmount: null isGlobal: false physicalCardFulfillment: nameLine1: Shawn nameLine2: Test physicalCardShipping: address1: 1st Street address2: Apt S city: Abville state: GA country: US zipcode: '12345' firstName: Pat lastName: Card shippingMethod: USPSPri cardHolder: null outgoingTransactionCode: null createdBy: null isMaestro: false whitelistCountries: null blacklistCountries: null enableExactMatch: false avsCheck: false cardImageKey: null cardBrand: Visa cardClass: CommercialCredit orderNumber: Test-Physical-Card saleGuid: 00000000-0000-0000-0000-000000000000 incomingTransactionCode: 532FE4B638983186015474907 schema: oneOf: - title: Update Physical Card Response Example type: object properties: cardHolder: type: object properties: cardHolderGuid: type: string example: fad4b188-75f5-4e9c-9398-4c4ab5798e38 firstName: type: string example: Ping lastName: type: string example: VCCPhysical phone: type: string example: '3121231234' address1: type: string example: 107 Techlogy Park address2: type: string example: '' city: type: string example: PT Corners state: type: string example: NY zipcode: type: string example: '30092' country: type: string example: US merchantGuid: type: string email: type: string customerId: type: string dateOfBirth: type: string reissuePhysicalCard: type: string card: type: object properties: cardGuid: type: string example: adcc6b1a-72d9-430b-b054-0439ccb4605d accountNumber: type: string example: '1111113968445358' securityCode: type: string example: '437' amountLimit: type: integer example: 5 default: 0 usageLimit: type: integer example: 1 default: 0 limitWindow: type: string example: LIFETIME expirationDate: type: string example: '2022-12-30T23:59:59' expiration: type: string example: '1222' currencyCode: type: string example: USD firstSix: type: string example: '111111' lastFour: type: string example: '5358' nameLine1: type: string example: Ping nameLine2: type: string example: VCCPhysical status: type: string example: Card - Unactivated availableBalance: type: integer example: 5 default: 0 physicalCardFulfillment: type: object properties: nameLine1: type: string example: Ping R. nameLine2: type: string example: TEST physicalCardShipping: type: object properties: address1: type: string example: 123 abc test city: type: string example: plymouth state: type: string example: MN country: type: string example: US zipcode: type: string example: '55446' firstName: type: string example: P lastName: type: string example: R expedite: type: boolean example: false default: true shippingMethod: type: string example: LOCAL_MAIL cardBrand: type: string example: MasterCard cardClass: type: string example: Commercial saleGuid: type: string example: 35290674-d24b-42c9-8e05-edbd53e1270f '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - PhysicalCard components: securitySchemes: sec0: type: http scheme: basic x-readme: headers: - key: Authorization value: Basic explorer-enabled: false proxy-enabled: true x-readme-fauxas: true