post http://{{url}}/v1/charges
A Charge is a one-time payment that can be requested against any connected processing service.
Charges can be initatied through of the following payment instruments in PowerBoard.
Flow
You can create a charge using:
- One-time token
- An existing customer (with default or non-default payment source)
- Direct with credit card
- Authorisation of a one time charge (all authorised payments can be captured or cancelled in future.)
- Direct with vault token
- An existing customer (with vault token payment source)
- 3DS is performed within the charge flow
- With pre-auth (3ds)charge ID
For a one time charge, payments are made using a one-time token, credit card or direct debit. Otherwise if you are making a payment for an existing customer, it’s simpler to store the payment source with the customer and make a payment using the customer ID.
Request query params
| field | required[flow] | type | description |
|---|---|---|---|
| capture | +4 | bool | Automatically capturing or just authorize. By default true |
Request body
| field | required[flow] | type | description |
|---|---|---|---|
| amount | + | float | Amount of payment |
| currency | + | string (iso4217 alpha-3) | Currency code |
| description | - | string | Manually defined description for payments in payment systems |
| descriptor | - | string | Manually defined descriptor for payments in payment systems |
| reference | - | string | Manually defined reference for customer in payment systems |
| reference2 | - | string | Manually defined reference for customer in payment systems. |
| amount_surcharge | - | float | An additional amount added to the original amount of a good or service |
| amount_original | - | float | Total payment amount without surcharge |
| initialization_source | - | string | The mechanism the cardholder used to accept the transaction |
| bypass_3ds | -1 | boolean | A flag to skip 3DS for gateways which are configured at PowerBoard to be 3DS required |
| token | +1 | string(UUID) | One-time token with all the payment source information |
| customer_id | +2, +6 | string (24 hex characters) | Existing customer ID |
| payment_source_id | -2 | string (24 hex characters) | Payment source ID for creating charge with non-default payment source |
| channel_id | -3, -5 | string | Channel identifier |
| wallet_id | -3, -5 | string | Wallet identifier |
| card_acceptor.address_city | -1, -3, -5, -6, -8 | string | Card acceptor address city |
| card_acceptor.address_company | -1, -3, -5, -6, -8 | string | Card acceptor address company |
| card_acceptor.address_postcode | -1, -3, -5, -6, -8 | string | Card acceptor address postcode |
| card_acceptor.address_country | -1, -3, -5, -6, -8 | string | Card acceptor address country |
| card_acceptor.address_state | -1, -3, -5, -6, -8 | string | Card acceptor address state |
| card_acceptor.address_line1 | -1, -3, -5, -6, -8 | string | Card acceptor address line 1 |
| card_acceptor.address_line2 | -1, -3, -5, -6, -8 | string | Card acceptor address line 2 |
| card_acceptor.name | -1, -3, -5, -6, -8 | string | Card acceptor name |
| card_acceptor.phone | -1, -3, -5, -6, -8 | string | Card acceptor phone |
| customer | +3, +5 | object | Object with the customer’s information. |
| customer.first_name | - | string | Customer first name |
| customer.last_name | - | string | Customer last name |
| customer.email | - | string | Customer email |
| customer.phone | - | string(E.164) | Customer phone in E.164 international notation (Example: +12345678901) |
| customer.payment_source | + | object | Object with payment information |
| customer.payment_source.vault_token | +5 | string (uiid) | vault token id |
| customer.payment_source.gateway_id | +, -1 | string (24 hex characters) | Gateway id |
| customer.payment_source.type | + | string | Type of payment. By default card. Use card for payment with credit card |
| customer.payment_source.card_name | +3,-5 | string | Cardholder name (as on card) |
| customer.payment_source.card_number | +3,-5 | string(numeric) | Card number |
| customer.payment_source.expire_month | +3,-5 | string(mm) | Card expiration month mm |
| customer.payment_source.expire_year | +3,-5 | string(yyyy) | Card expiration year |
| customer.payment_source.card_ccv | -3, -5 | string(numeric) | Card CCV number |
| customer.payment_source.address_line1 | - | string | Customer Address, line 1 |
| customer.payment_source.address_line2 | - | string | Customer Address, line 2 |
| customer.payment_source.address_state | - | string | Customer Address, State |
| customer.payment_source.address_country | - | string | Customer Address, Country Code |
| customer.payment_source.address_city | - | string | Customer Address, City |
| customer.payment_source.address_postcode | - | string | Customer Address, Postcode |
| customer.payment_source.card_accept_type | - | string | The mechanism the cardholder used to send card details |
| customer.payment_source.card_holder_accept_method | - | string | The mechanism the cardholder used to accept the transaction |
| custom_fields | - | object | The object of custom fields for transaction. These fields were sent to a payment gateway if this option has been enabled using the gateway creation and modification endpoints |
| custom_fields.any | - | string | This fields can have any custom name and value |
| meta | - | object | Optional object with specific fields for different gateways |
| _3ds | +8 | object | A 3DS option |
| _3ds.charge_id | +8 | string (24 hex characters) | A pre-auth (3DS) charge ID |
| _3ds.mandatory | -7 | boolean | A flag to force 3DS for the charge |
| _3ds.browser_details | +7 | object | 3DS browser options |
| _3ds.browser_details.user_agent | +7 | string | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Navigator |
| _3ds.browser_details.java_enabled | +7 | string (bool) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Navigator |
| _3ds.browser_details.language | +7 | string (BCP 47) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Navigator |
| _3ds.browser_details.time_zone | +7 | string (numeric) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Navigator |
| _3ds.browser_details.screen_height | +7 | string (numeric) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Screen |
| _3ds.browser_details.screen_width | +7 | string (numeric) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Screen |
| _3ds.browser_details.color_depth | +7 | string (numeric) | Browser info https://developer.mozilla.org/en-US/docs/Web/API/Screen |
| _3ds.browser_details.accept_header | +7 | string | Headers accepted |
| _3ds.browser_details.container_height | +7 | string (numeric) | The container height |
| _3ds.browser_details.container_width | +7 | string (numeric) | The container width |
| _3ds.browser_details.ip | +7 | string | An IP address of the client's browser |
| _3ds.authentication | -3,-8 | object | Authentication payload |
| _3ds.authentication.result | -3,-8 | object | Authentication result |
| _3ds.authentication.result.reference | -3,-8 | string | Authentication result reference id for tracking approved 3DS |
| _3ds.authentication.result.reference_2 | -3,-8 | string | Authentication result reference id assigned upon testing and approval of 3DS |
| _3ds.authentication.result.identifier | -3,-8 | string | The unique transaction id assigned by the Directory Server (DS) |
| _3ds.authentication.result.identifier_2 | -3,-8 | string | The unique transaction id assigned by the 3DS SDK |
| _3ds.authentication.result.identifier_3 | -3,-8 | string | The unique transaction id assigned by the 3DS Server |
| _3ds.authentication.result.identifier_4 | -3,-8 | string | The unique transaction id assigned by the Access Control Server (ACS) |
| _3ds.authentication.result.identifier_5 | -3,-8 | string | The unique transaction id for AMEX transactions |
| _3ds.authentication.result.type | -3,-8 | string | Indicates the type of authentication |
| _3ds.authentication.result.status | -3,-8 | string | Indicates if a transaction is authenticated |
| _3ds.authentication.result.status_2 | -3,-8 | string | A value used to indicate the result of an attempt to authenticate a cardholder |
| _3ds.authentication.result.status_code | -3,-8 | string | Indicates why the transaction status field has a specific value |
| _3ds.authentication.result.ref_token | -3,-8 | string | A payment system-specific token provided by the Access Control Server (ACS) or the Directory Server (DS) |
| _3ds.authentication.result.cancellation | -3,-8 | string | Indicates whether the authentication process was canceled |
| _3ds.authentication.result.count | -3,-8 | string | The number of authentication attempts made |
| _3ds.authentication.result.version | -3,-8 | string | The version of the 3DS authentication protocol used |
| _3ds.authentication.result.whitelist | -3,-8 | object | Authentication result whitelist |
| _3ds.authentication.result.whitelist.status | -3,-8 | string | The status of the trusted whitelist services communication |
| _3ds.authentication.result.whitelist.source | -3,-8 | string | Values provided by Whitelist status |
| _3ds.authentication.result.source | -3,-8 | string | The source of the authentication result |
