Making a canister "payable"

is there a way to make a canister “payable” with ICP like an eth smart contract? I know canisters can not transfer ICP right now, but they can hold them, and you can send ICP to them. Is there a way to require a transfer of ICP with particular functions?

I have the same question. Leaving this comment here so that I receive the notifcation if/when someone answers.

This is not available at present but will be coming soon in the next month or so…