Page MenuHomeDatingVIP

Partner Notifications
Updated 10 Days AgoPublic

Content

transaction.success
transaction.failed
transaction.change
subscription.created
subscription.trial
subscription.stopped
subscription.suspended
subscription.rebill
subscription.completed
subscription.change


PV2 is sending notifications to our partners regarding various actions on PV2. Notifications are always sent to the same URL defined for each partner along with hash and other related data. If partner doesn't respond to notification, PV2 will try to resend it.

Generally notifications will be sent in this format:

Param NameTypeDescription
commandstringThe command that needs to be executed
hashstringHash
datastringjson encoded string with data array

When partner receives a notification the next step should be confirmation. There are two ways to do that.

  • notifications.hash.validate api call (async) by sending received hash back
  • return a given string '*NOTIFIED*' as a result of notification request (http code must be 200)

For non confirmed notifications the resend mechanism will retry notification according to below schedule:

  1. After 1 minute
  2. After 5 minutes
  3. After 15 minutes
  4. After 30 minutes
  5. After 30 minutes

notifications.hash.validate call also has another important purpose, so partners can validate if the notification actually came from us.

This is list of notifications which will be send out.

transaction.success

Sent in case of successful transaction.

Data array (json encoded)

Param NameTypeDescription
tran_idintTransaction ID
ptnr_idintPartner ID
ppac_idintPayment Processor Account ID
order_idintOrder ID
ccdt_idintCredit Card Details ID
transaction_typestringTransaction Type. Values: s (sale), a (auth), r (refund), c (chargeback), f (fake)
amountstringAmount
currencystringCurrency (3 Letter ISO Code)
descriptionstringDescription
statusstringTransaction status. Values: failed, successful
refunded_tran_idintRefunded Transaction ID
originstringOrigin. Values: direct, system
tsintTimestamp
status_codeintStatus code
payment_codeintPayment Code (700 on success)
order_typestringOrder type. Values: basic, xsale
pp_idintPayment Processor ID
processorstringPayment Processor abbreviation
user_idintUser ID in Payment Application
tracking_userintUser Identifier from Partner
tracking_tagintTag ID from Partner
itemsarrayArray of items
merchant*arrayArray of fields that identify merchant account**
selected_cc_data*arrayArray of card data fields (ccdt_id, bin, ccnum_last4, exp_date, cc_type, cc_status) (with optional flag: marked_as_fraud)***

*Processor dependant, may not be sent for all processors - currently only RocketGate and Payon use this field
For RocketGate transaction, merchant is [merchant_id, merchant_account], for Payon it is [channel]
For RocketGate transaction, only when using already existing card (rebills/rejoins)

transaction.failed

Sent in case of failed transaction.

Data array (json encoded)

Param NameTypeDescription
tran_idintTransaction ID
ptnr_idintPartner ID
ppac_idintPayment Processor Account ID
order_idintOrder ID
ccdt_idintCredit Card Details ID
transaction_typestringTransaction Type. Values: s (sale), a (auth), r (refund), c (chargeback), f (fake)
amountstringAmount
currencystringCurrency (3 Letter ISO Code)
descriptionstringDescription
statusstringTransaction status. Values: failed, successful
refunded_tran_idintRefunded Transaction ID
originstringOrigin. Values: direct, system
tsintTimestamp
status_codeintStatus code
payment_codeintPayment Code (700 on success)
order_typestringOrder type. Values: basic, xsale
pp_idintPayment Processor ID
processorstringPayment Processor abbreviation
user_idintUser ID in Payment Application
tracking_userintUser Identifier from Partner
tracking_tagintTag ID from Partner
itemsarrayArray of items
merchant*arrayArray of fields that identify merchant account**
selected_cc_data*arrayArray of card data fields (ccdt_id, bin, ccnum_last4, exp_date, cc_type, cc_status) (with optional flag: marked_as_fraud)***

*Processor dependant, may not be sent for all processors - currently only RocketGate and Payon use this field
For RocketGate transaction, merchant is [merchant_id, merchant_account], for Payon it is [channel]
For RocketGate transaction, only when using already existing card (rebills/rejoins)

transaction.change

Sent when transaction has been changed.
Possible cases when that might happen:

Data array (json encoded)

Param NameTypeDescription
tran_idintTransaction ID
ptnr_idintPartner ID
ppac_idintPayment Processor Account ID
order_idintOrder ID
ccdt_idintCredit Card Details ID
transaction_typestringTransaction Type. Values: s (sale), a (auth), r (refund), c (chargeback), f (fake)
amountstringAmount
currencystringCurrency (3 Letter ISO Code)
descriptionstringDescription
statusstringTransaction status. Values: failed, successful
refunded_tran_idintRefunded Transaction ID
originstringOrigin. Values: direct, system
tsintTimestamp
status_codeintStatus code
payment_codeintPayment Code (700 on success)
order_typestringOrder type. Values: basic, xsale
pp_idintPayment Processor ID
processorstringPayment Processor abbreviation
user_idintUser ID in Payment Application
tracking_userintUser Identifier from Partner
tracking_tagintTag ID from Partner
itemsarrayArray of items

*Processor dependant, may not be sent for all processors - currently only RocketGate

subscription.created

Sent when subscription is successfully created and subscription does not have trial.
Subscription does not have trial, if appropriate item passed in transaction.init call, have empty value for parameter trial_period.
(Minor use case: Also sent for manually rebilled subscriptions, in this case value of rebill_period for appropriate item in transaction.init call should be -1)

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation
tran_id*intLast Transaction's ID

* Not present for all payment processors

subscription.trial

Sent when subscription is successfully created and subscription does have trial.
Subscription does have trial, if appropriate item passed in transaction.init call, have non-empty value for parameter trial_period.

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation
tran_id*intLast Transaction's ID

* Not present for all payment processors

subscription.stopped

Sent in case of stopped subscription (action initiated via api call)

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation
is_cancelbooleans/b true
cancel_reasonstringOptional, not always sent. If it has value 'cancel_reason_rebill_bin_filter' it means that subscription was stopped because BIN used for purchase is not allowed to rebill.

subscription.suspended

Sent in case of suspended subscription (usually happens when we can't rebill user after defined number of attempts)

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation

subscription.rebill

Sent after successfully made rebill. It will be sent right after transaction.success

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation
tran_id*intLast Transaction's ID

* Not present for all payment processors

subscription.completed

Sent after completed subscription (happens only on subs with limited number of rebills).

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation

subscription.change

Sent in when subscription is changed (action initiated via subscription.change api call)

Data array (json encoded)

Param NameTypeDescription
sub_idintSubscription ID
item_idintItem ID
statusstringSubscription status (s/b initial on create, rebill after 1st rebill)
start_tsintStart timestamp
change_tsintChange(edit) timestamp
end_tsintEnd timestamp
rebill_countintNumber of recurring payments
last_rebill_tsintLast rebill ts
next_rebill_tsintNext rebill ts
next_rebill_amountintNext rebill amount
step_downintStep Down (charge amount reductions)
order_idintOrder ID
descriptionintOrder Description
rebill_amountintRebill amount (not including next one)
trial_unitstringTrial Unit (day|week|month|year)
rebill_unitstringRebill Unit (day|week|month|year)
rebill_periodintRebill period
max_rebill_countintMax Rebill Count
trial_periodintTrial period
tracking_itemintTracking item ID
pp_idintPayment Processor ID
user_idintPV2 user ID
hashstringHash
first_nameintCustomer's First Name
last_nameintCustomer's Last Name
ppac_idintPayment Processor Account ID
emailintCustomer's Email Address
ptnr_idintPartner ID
currencystringCurrency
tracking_tagintTracking Tag param
ipintCustomer's IP Address
order_typeintOrder type. Values: basic, xsale
tracking_userintUser ID on partners' site
processorintPayment Processor's abreviation
Last Author
aplawecki
Last Edited
Mon, Mar 18, 03:58

Event Timeline

boris moved this document from Unknown Object (Phriction Wiki Document).
boris changed the visibility from "Public (No Login Required)" to "All Users".
boris changed the visibility from "All Users" to "Public (No Login Required)".
banovic edited the content of this document. (Show Details)
banovic edited the content of this document. (Show Details)
boris shifted this object from the Restricted Space space to the S6 Everyone space.Aug 8 2018, 08:08