Initiate Payment
Used when submitting payment for initiation. It could be used during direct API integration or via SDK / Button integration. Payment initiation must be done before payment information can be submitted via Submit Payment Information API call. The Request data of this API call is very similar to Submit Payment Information API call, differences being:
- amount, currency_code and many other order-related parameters are not in Submit Payment Information API call
- payment_method_code and extra payment parameters within payment_info is not a parameter in Initiate Payment API call
- txn_id must be provided by Initiate Payment API call, and pw_id must be provided by Submit Payment Information API call, being a pair from Initiate Payment API call
- Any other overlapping parameters from Submit Payment Information API call will overwrite the data within Initiate Payment API call
Method: POST
Action: initiate-payment
Request
Format: POST data
- action
required
: string (32)
Remark |
Sample |
The action of this call, must be hardcoded to “initiate-payment” |
initiate-payment |
- timestamp
required
: timestamp (32)
Remark |
Sample |
The timestamp for this API call |
- |
- api_key
required
: string (32)
Remark |
Sample |
Pipwave-assigned merchant’s API key |
123456 |
- txn_id
required
: string (255)
Remark |
Sample |
Unique merchant’s transaction ID |
123456 |
- amount
required
: decimal (11, 2)
Remark |
Sample |
The payment amount, include all fees, after store credit deduction and discounts |
123 |
- shipping_amount : decimal (11, 2)
Remark |
Sample |
The shipping fee amount |
- |
- handling_amount : decimal (11, 2)
Remark |
Sample |
The handling fee amount |
- |
- tax_exempted_amount : decimal (11, 2)
Remark |
Sample |
How much of the payment amount is tax-exempted; Defaults to 0, must be less than or equals to amount |
123 |
- currency_code
required
: string (3)
Remark |
Sample |
The payment currency. Follow ISO 4217 standard. |
MYR |
- short_description : string (255)
Remark |
Sample |
Short/summary description of the payment |
Payment for games. |
Remark |
Sample |
Comma-delimited allowable checkout payment methods to be shown to buyer. Setting this overrides and ignores “prefered_category” and “exclude_payment” parameter. Refer to appendix for list of possible values. |
paypal |
Remark |
Sample |
Comma-delimited payment methods to be excluded from being shown to buyer. Refer to appendix for list of possible values. |
skrill,ipay88 |
- prefered_category : string (255)
Remark |
Sample |
Comma-delimited allowable checkout payment channels to be shown to buyer. Refer to appendix for list of possible values. |
e-wallet,e-banking |
- subscription_info : key-value
- subscription_info.subscription : boolean
Remark |
Sample |
Default: false |
true |
- subscription_info.subscription_frequency : string (32)
Remark |
Sample |
If subscription = true, this parameter becomes required; otherwise it is ignored. Specifies the frequency the subscription fee will be charged again. Refer to appendix for list of possible values |
MONTHLY |
- subscription_info.subscription_monthly_charge_day : unix datetime
Remark |
Sample |
If subscription is monthly, this parameter becomes required; otherwise it is ignored. Specifies the next date for charging, in GMT+0. After that, subsequent monthly charge will be based on this date. |
2016-03-01 00:00:00 |
Remark |
Sample |
The payment data information |
- |
- session_info.ip_address : string (45)
Remark |
Sample |
Buyer’s IP address, for anti-fraud purposes |
123.123.123.123 |
- session_info.session_id : string (255)
Remark |
Sample |
Buyer’s session ID with the merchant website, for anti-fraud purposes |
yVPWBgovdzwTvJExDFr2hc10IdGlsdCj |
- session_info.language : string (5)
Remark |
Sample |
Default: en-gb, language to show to buyer. Refer to appendix for list of possible values |
en-gb |
- buyer_info.id
required
: string (255)
Remark |
Sample |
Used to uniquely identify your buyer for order tagging and reporting purposes |
- |
- buyer_info.email
required
: string (255)
- buyer_info.first_name : string (255)
Remark |
Sample |
Buyer’s first name |
Doe |
- buyer_info.last_name : string (255)
Remark |
Sample |
Buyer’s last name |
John |
- buyer_info.contact_no : string (255)
Remark |
Sample |
Buyer’s contact number |
123456789 |
- buyer_info.contact_no_country_iso2 : string (2)
Remark |
Sample |
Buyer’s contact number country ISO2 |
MY |
- buyer_info.contact_no_country_code : string (3)
Remark |
Sample |
Buyer’s contact number country dialing code |
60 |
- buyer_info.country_code
required
: string (3)
Remark |
Sample |
Buyer’s country code ISO2 |
MY |
- buyer_info.processing_fee_group : string (64)
Remark |
Sample |
Buyer’s processing fee group, refering to Merchant’s processing fee group group list Reference ID. If no match is found, no processing fee will be imposed |
gold |
- buyer_info.kyc_status : string (32)
Remark |
Sample |
Buyer’s KYC verification status in merchant's ecosystem. Possible values: new, pending,approved,denied |
approved |
- buyer_info.login_ip_address : string (45)
Remark |
Sample |
Buyer’s login IP address |
123.123.123.123 |
- buyer_info.signup_ip_address : string (45)
Remark |
Sample |
Buyer’s signup IP address |
123.123.123.123 |
- buyer_info.signup_date : timestamp
Remark |
Sample |
Buyer’s signup date in unix timestamp |
1543539126 |
- billing_info.name : string (255)
Remark |
Sample |
Billing name |
John Doe |
- billing_info.address1 : string (255)
Remark |
Sample |
Billing address |
1, Jalan John |
- billing_info.address2 : string (255)
Remark |
Sample |
Billing address |
- |
- billing_info.city : string (255)
Remark |
Sample |
Billing address city |
John Town |
- billing_info.state : string (255)
Remark |
Sample |
Billing address state |
Selangor |
- billing_info.zip : string (255)
Remark |
Sample |
Billing address zip |
12345 |
- billing_info.country : string (255)
Remark |
Sample |
Billing address country |
Malaysia |
- billing_info.country_iso2 : string (2)
Remark |
Sample |
Billing country ISO2 |
MY |
- billing_info.contact_no : string (255)
Remark |
Sample |
Billing contact number |
- |
- billing_info.contact_no_country_iso2 : string (2)
Remark |
Sample |
Billing contact number country ISO2 |
MY |
- billing_info.email : string (255)
Remark |
Sample |
Billing email address |
- |
- shipping_info : key-value
- shipping_info.name : string (255)
Remark |
Sample |
Shipping name |
John Doe |
- shipping_info.address1 : string (255)
Remark |
Sample |
Shipping address |
1, Jalan John |
- shipping_info.address2 : string (255)
Remark |
Sample |
Shipping address |
- |
- shipping_info.city : string (255)
Remark |
Sample |
Shipping address city |
John Town |
- shipping_info.state : string (255)
Remark |
Sample |
Shipping address state |
Selangor |
- shipping_info.zip : string (255)
Remark |
Sample |
Shipping address zip |
12345 |
- shipping_info.country : string (2)
Remark |
Sample |
Shipping address country |
Malaysia |
- shipping_info.country_iso2 : string (2)
Remark |
Sample |
Shipping country ISO2 |
MY |
- shipping_info.contact_no : string (255)
Remark |
Sample |
Shipping contact number |
- |
- shipping_info.contact_no_country_iso2 : string (2)
Remark |
Sample |
Shipping contact number country ISO2 |
MY |
- shipping_info.email : string (255)
Remark |
Sample |
Shipping email address |
- |
- item_info : array *Only up to 20 values, 255 character length for each data
- item_info.x.name : string (255)
Remark |
Sample |
Product name |
The Theory of Nothing |
- item_info.x.description : string (255)
Remark |
Sample |
Product description |
When Hawking Stephen finds the true answer of everything, guess what he finds? |
- item_info.x.amount : decimal (11, 2)
Remark |
Sample |
Product unit price, after discounts, and, if Merchant handles the tax charges, after tax |
123 |
- item_info.x.quantity : decimal (11, 2)
Remark |
Sample |
Quantity of product being purchased |
1 |
- item_info.x.category : string (128)
Remark |
Sample |
Product category |
- |
- item_info.x.is_tangible_good : boolean
Remark |
Sample |
Is it physical good? True, or false (for digital/virtual goods) |
true |
- item_info.x.sku
*required
: string (255)
Remark |
Sample |
Product code, required if item info row exists |
123456 |
- subtotal_info : array * Only up to 20 values, 255 character length for each data
- subtotal_info.x.name : string (255)
Remark |
Sample |
Subtotal label |
Shipping cost |
- subtotal_info.x.value : decimal (11, 2)
Remark |
Sample |
Subtotal amount |
0 |
- api_override.notification_url : string (255)
- api_override.success_url : string (255)
- api_override.fail_url : string (255)
- api_override.redirect_extra_param1 : string (255)
Remark |
Sample |
Extra data to be included with the success/fail redirect as GET parameters |
123456 |
- api_override.redirect_extra_param2 : string (255)
Remark |
Sample |
Extra data to be included with the success/fail redirect as GET parameters |
- |
- api_override.redirect_extra_param3 : string (255)
Remark |
Sample |
Extra data to be included with the success/fail redirect as GET parameters |
- |
- api_override.notification_extra_param1 : string (255)
Remark |
Sample |
Extra data to be included with the notification package |
123456 |
- api_override.notification_extra_param2 : string (255)
Remark |
Sample |
Extra data to be included with the notification package |
abcdef |
- api_override.notification_extra_param3 : string (255)
Remark |
Sample |
Extra data to be included with the notification package |
- |
- init_setting.skip_phone_verification : boolean
Remark |
Sample |
If merchant account's phone verification is enabled, this flag allows merchant to skip phone verification just for this transaction |
true |
Response
Format: JSON
Remark |
Sample |
Status of the request. Refer to appendix for list of possible values |
0 |
Remark |
Sample |
Error message, if any |
- |
Remark |
Sample |
Pipwave’s payment token |
abcdef |
- redirect_url : string (255)
Remark |
Sample |
The next redirect url |
- |
Signature
The data involved in generating the signature for this API are:
- timestamp
- action
- api_key
- txn_id
- amount
- currency_code
- api_secret