There's no official feature for that. Approval can only be overridden per-plan. Best I can think of is to auto-approve them once their payment has completed using CB Auto Actions. Example as follows.
Global
Triggers: onCPayAfterPaymentStatusUpdateEvent
User: Automatic
Type: Code
Access: Everybody
Conditions
Condition 1
Field: Custom > Value
Custom Value: [approved]
Operator: Not Equal To
Value: 1
Condition 2
Field: Custom > Value
Custom Value: [var4]
Operator: Equal To
Value: Completed
Condition 3
Field: Custom > Value
Custom Value: [var2_gateway_account]
Operator: Equal To
Value: PAYMENT_GATEWAY_ID_HERE
Action
Method: PHP
Code:
Code:
$user->approveUser( 1 ):
This acts on the payment status change event for a basket. First it makes sure the user is already unapproved as there's not much point approving an already approved user. Then when a basket payment is marked completed (paid) it'll also check what payment gateway was used to make the payment. That is where we check against PAYMENT_GATEWAY_ID_HERE which should be set to the id of your PayPal payment gateway. Next it runs the necessary PHP to force the user approved.