Shell Python Node PHP C# Ruby

Send a Payout Activation Link

Trigger a secure payment activation request to the account holder. This will send an email request to the specified recipient in the sent_to nested object to connect their bank account.

Send a POST request to https://api.payload.com/payment_activations with the following payload:

curl "https://api.payload.com/payment_activations/" \
    -u secret_key_3bW9JMZtPVDOfFNzwRdfE: \
    -d intent[entity_name]="The Jango Business" \
    -d intent[purpose]="Receive commissions" \
    -d intent[type]="bank_account" \
    -d sent_to[0][name]="Jango Carter" \
    -d sent_to[0][email]="[email protected]"
payment_activation = pl.PaymentActivation.create(
    intent={
        'entity_name': 'The Jango Business',
        'purpose': 'Receive commissions',
        'type': 'bank_account',
        'entity_type': 'business'
    },
    send_to=[{
        'name': 'Jango Carter',
        'email': '[email protected]'
    }]
)
payment_activation = Payload::PaymentActivation.create(
    intent: {
        entity_name: 'The Jango Business',
        purpose: 'Receive commissions',
        type: 'bank_account',
        entity_type: 'business'
    },
    send_to: [{
        name: 'Jango Carter',
        email: '[email protected]'
    }]
)
<?php
$payment_activation = Payload\PaymentActivation::create([
    'intent' => [
        'entity_name' => 'The Jango Business',
        'purpose' => 'Receive commissions',
        'type' => 'bank_account',
        'entity_type' => 'business'
    ],
    'send_to' => [[
        'name' => 'Jango Carter',
        'email' => '[email protected]'
    ]]
]);
?>
const payment_activation = await pl.PaymentActivation.create({
    intent: {
        entity_name: 'The Jango Business',
        purpose: 'Receive commissions',
        type: 'bank_account',
        entity_type: 'business'
    },
    send_to: [{
        name: 'Jango Carter',
        email: '[email protected]'
    }]
})
var payment_activation = await pl.PaymentActivation.CreateAsync(new {
    intent = new {
        entity_name = "The Jango Business",
        purpose = "Receive commissions",
        type = "bank_account",
        entity_type = "business"
    },
    send_to = new []{
    new {
      name = "Jango Carter",
      email = "[email protected]"
    }
  }
});

Response confirming your payout activation request.

{
  "account_id": null,
  "attrs": null,
  "created_at": "Wed, 05 May 2021 17:35:14 GMT",
  "id": "acvt_3chGYjADEelXhSfhdYLQf",
  "intent": {
    "entity_name": "The Jango Business",
    "entity_type": "business",
    "purpose": "Receive commissions",
    "type": "bank_account"
  },
  "modified_at": "Wed, 05 May 2021 17:35:14 GMT",
  "object": "payment_activation",
  "payment_method": null,
  "payment_method_id": null,
  "send_to": [
    {
      "attrs": null,
      "created_at": "Wed, 05 May 2021 17:35:14 GMT",
      "email": "[email protected]",
      "id": "ntfy_3chGYjADEfTlaIhZW9BcK",
      "modified_at": "Wed, 05 May 2021 17:35:14 GMT",
      "name": "Jango Carter",
      "object": "notification",
      "payment_activation_id": "acvt_3chGYjADEelXhSfhdYLQf",
      "phone": null,
      "reference_object": "payment_activation",
      "type": "payment_activation_req"
    }
  ],
  "status": "requested"
}

{
  // Information about the payout you're configuring.
  "intent": {
    // Set this to your business's name.
    // This will appear in the email received by your recipient.
    "entity_name": "The Jango Business",

    // Customize this to reflect the purpose of your payout.
    // This will appear in the email received by your recipient.
    "purpose": "Receive commissions",

    // Only "bank_account" is supported.
    "type": "bank_account",

    // Can be either "business" or "individual".
    "entity_type": "business",
  },

  // An array of recipients that you want to activate payouts for.
  "send_to": [{
    // The name of the payout recipient.
    // Must match the name associated with the bank added.
    "name": "Jango Carter",

    // The email that will receive the payout activation request.
    "email": "[email protected]"
  }]
}

Watch for submission

You can configure webhooks using Payload's Webhooks API to alert your system when the status changes from requested to submitted when your payout recipient has submitted the form, and to accepted once Payload has completed its standard security checks on the submitted information.

You can also grab this info using a GET request to https://api.payload.com/payment_activations/acvt_3chGYjADEelXhSfhdYLQf, replacing the trailing ID with with that of the payment_activations object you're after.

Once the status is changed to submitted, the payment_method_id property will be populated with your recipient's payment method ID that you can now use to send a payout once it is successfully accepted.