Do an semi-online transfer. I had a similar situation where i had to transfer 5K USD to a commercial entity.
You can request the publisher to give you their bank account details. You will need the SWIFT code of the bank( SWIFT code is a international code that each bank gets to transfer money)
You will need bank account number, account name, bank address, address of the publisher.
Then just walk into your bank with the above details. Note that you will have to visit a branch in your city that allows forex transfers. They will give you a set of forms to fill up. The above details will be needed to fill up these forms
In addition to the above, you will be asked to fill up a purpose code maintained by RBI. This code is used by RBI to understand the reason why you are transferring the money. The bank will provide you with a sheet which will have these codes and explanation of these codes. Read through the codes and in case of any questions ask the bank officials to help
Tip: If you have accounts with any private sector banks, please approach them. Public sector banks will give you tough time
Hope this helps!
Regards,
Ravi