The payment link object

You can expect the below object when you register a webhook for the following events:

  • payment_link.create

Raw sample

{
  "description": "12pcs Chocolate Box",
  "capacity": null,
  "active": true,
  "return_url": null,
  "failure_return_url": null,
  "send_customer_receipt": true,
  "custom_data": {},
  "amount_currency": "AED",
  "platform": "client",
  "prefilled_customer": {},
  "title": "Chocolate Box - Small",
  "external_id": null,
  "name": "Chocolate Box - Small",
  "enable_tabby": true,
  "is_widget": true,
  "id": "MB-LINK-2B3C4D5E6F",
  "amount": 3000,
  "processing_fee_percentage": 0,
  "processing_fee_amount": null,
  "enable_message": true,
  "enable_tips": false,
  "enable_quantity": false,
  "payment_methods": [
    "card",
    "wallet"
  ],
  "rules": {
    "allowed": []
  },
  "enable_customer_details": false,
  "payment_url": "https://sandbox.dev.business.mamopay.com/widget/pay/acme-chocolates-3c4d5e",
  "save_card": "optional",
  "status": "active",
  "link_type": "modal",
  "max_amount": null,
  "hold_and_charge_later": false,
  "internal_note": null,
  "lang": "en",
  "expiration_date": null,
  "terms_and_conditions_url": null,
  "payouts_share": null,
  "created_at": "2023-12-28-16-21-24",
  "event_type": "payment_link.create",
  "subscription": null
}

Field descriptions

FieldTypeDescription
descriptionStringPayment link description
capacityNumberPayment link capacity. null means unlimited
activeBooleanWhether the link is active
statusStringEffective state of the link: active, inactive or expired
return_urlStringThe URL that the customer will be redirected to after a successful payment
failure_return_urlStringThe URL that the customer will be redirected to after a failed payment
send_customer_receiptBooleanWhether customer receipts are sent
custom_dataDictionaryCustom Data sent in the request
amount_currencyStringCurrency of the payments
platformStringPlatform where the payment link was generated
titleStringPayment link title
prefilled_customerDictionaryPrefilled customer details (first_name - last_name - email - phone_number). Only the keys that were sent are present
external_idStringExternal ID sent in the request
hold_and_charge_laterBooleanWhether payments are held and captured later
internal_noteStringYour internal note for the link
langStringCheckout language (en - ar)
expiration_dateStringDate after which the link stops accepting payments, or null
nameStringPayment link name (same as title)
enable_tabbyBooleanWhether Tabby is offered
is_widgetBooleanWhether the link is a modal, inline or permanent link
link_typeStringType of link (standalone - modal - inline)
idStringPayment Link ID
amountNumberAmount of the Payment Link
max_amountNumberMaximum amount the customer can enter when the link has no fixed amount, or null
processing_fee_percentageNumberProcessing fee percentage sent in the request
processing_fee_amountNumberFixed processing fee amount, or null when none is set
enable_messageBooleanWhether the customer can add a note
enable_tipsBooleanWhether the tips option is shown
enable_quantityBooleanWhether the customer can choose a quantity
payment_methodsList<String>List of allowed payment methods (card - wallet)
rulesObjectPayment link rules: {"allowed": [{"type", "list", "decline_message"}]}. allowed is empty when no rules are set; never null
enable_customer_detailsBooleanWhether the customers can enter their details
payment_urlStringThe URL to redirect your customer to complete the payment. Do not strictly validate this URL's exact format or hostname — it is not guaranteed to remain static. Whitelist *.mamopay.com subdomains instead of pinning a specific hostname.
save_cardStringWhether the card is saved (off - optional - required - required_without_checkbox)
terms_and_conditions_urlStringTerms and conditions URL, or null
payouts_shareDictionarySplit configured on the link (recipient_id-percentage_to_recipient-amount_to_recipient-recipient_pays_fees-release_date), or null
created_atString (Format: YYYY-MM-DD-HH-MM-SS)The creation time of the Payment Link
event_typeStringWebhook event type
subscriptionDictionarySubscription details in case of subscriptions (identifier-frequency_interval-end_date-payment_quantity-start_date-monthly_start_date-frequency-weekly_start_day), or null