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 |