条纹连接Python

时间:2017-10-12 14:03:51

标签: python django stripe-connect

尝试稍微清理一下这个问题,一切都在条带连接回调函数中工作,我可以在我的用户中保存条带用户ID,我喜欢在相关的配置文件模型中保存条带用户ID但不知道如何获取来自user = request.user的那个模型。任何建议都会有很大的帮助。

class CompanyUser(models.Model):
    email = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
    company_name = models.CharField(max_length=50, null=True, blank=True)
    business_owner = models.CharField(max_length=50, null=True, blank=True)
    phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+999999999'. Up to 15 digits allowed.")
    phone_number = models.CharField(validators=[phone_regex], max_length=15, blank=True) # validators should be a list
    stripe_user_id = models.CharField(max_length=120, null=True, blank=True)



def stripe_callback(request):
    client_secret = STRIPE_API_KEY
    user = request.user
    code = request.GET.get('code', '')
    data = {
        'grant_type': 'authorization_code',
        'client_secret': 'sk_test_5SLLtqWFDTqzdbYmBz4XZpSX',
        'client_id': 'ca_ANdfv3rlKvpOU3rDglk6qoXuBYqGYiq5',
        'code': code,
    } 
    url = 'https://connect.stripe.com/oauth/token'
    resp= requests.post(url, params=data)  
    stripe_payload = json.loads(resp.text)
    stripe_user_id = stripe_payload['stripe_user_id']
    user.stripe_user_id = stripe_user_id 
    user.save()

1 个答案:

答案 0 :(得分:0)

这样做有用,所以可以帮助其他人,感谢你在评论中的dirkgroten。

 def stripe_callback(request):

    client_secret = STRIPE_API_KEY
    # the temporary code returned from stripe
    user = request.user.companyuser
    code = request.GET.get('code', '')
    # identify what we are going to ask for from stripe
    data = {
        'grant_type': 'authorization_code',
        'client_secret': 'sk_test_secretstuff',
        'client_id': 'ca_secretstuff',
        'code': code,
    }
    # Get the access_token using the code provided
    url = 'https://connect.stripe.com/oauth/token'
    resp= requests.post(url, params=data)

    stripe_payload = json.loads(resp.text)

    print(stripe_payload)

    stripe_user_id = stripe_payload['stripe_user_id']

    user.stripe_user_id = stripe_user_id
    print(stripe_user_id)
    user.save()