The process: Add card credentials > save card details to submit to WePay for vault storage > WePay returns a unique token representing the member's payment details. Then when you initiate a batch process, VB sends the token to WePay with the amount to process.
Note that CVV is not a required data field.
The reason batch processing might fail and return a 1003 error code, would be because the proper card credentials were not sent to WePay for encoding to a token. Therefore, the VB database wouldn't have a WePay provided token for the member, which is required to do processing.