What info do I need in a form where people can pay/donate with Bitcoin? I'm a developer and looking to create a form where people can pay/donate money in Bitcoin.  Many have suggested to just post the recipient wallet address and let folks take that and go off and pay on their own.  However, I don't want that.  I would like to create a form taht gathers the necessary information for settlement and then goes off does the payment collection, much as someone who accepts credit cards will collect a credit card number, security code, and expiration date before handing that off to a payment processor.

My question is, is it possible to gather such information for a payment?  If so, what is the information I'd need to collect?

If it simplifies things, we were thinking of using the Coinbase API to make this happen.
This model fundamentally won't work.

In the case of a credit card transaction, the funds are actually held by a third party: the customer's bank.  You collect information from the customer (their card number, etc) and present it to the bank (via the Visa network or similar), to convince them that their customer has authorized the transaction.  The bank then transfers the funds to you.

With Bitcoin, it is very different.  The funds are held by the customer herself.  There is nobody who can perform the transfer except her (that's what keeps her funds secure!).  You cannot do it unilaterally on her behalf, and there is no bank holding the funds who can do it.

Strictly speaking, the "necessary information" to execute a transfer is the customer's private key.  But the customer is the only one who has it, and she is not going to share it with you (don't even ask).  So she has to execute the transfer herself.

The only way to collect a payment via Bitcoin is to give an address to the customer and wait for her to make a transfer to that address, signed with her own private key via her own wallet software.  You can have a third-party processor like Coinbase handle that for you, but it doesn't change the fact that the customer actually has to do something besides giving you information.